Apply a patch from Matt Kraai:
"The -L option to ls doesn't behave correctly for files listed explicitly
on the command line, only those in directories that are listed. The
appended patch fixes this problem. Would someone please commit it?"
-Erik
diff --git a/ls.c b/ls.c
index 385d6b2..8d975fd 100644
--- a/ls.c
+++ b/ls.c
@@ -790,7 +790,17 @@
for (oi=0 ; oi < ac; oi++) {
cur= (struct dnode *)xmalloc(sizeof(struct dnode));
cur->fullname= xstrdup(av[oi]);
- cur->name= cur->fullname ;
+ cur->name= cur->fullname;
+#ifdef BB_FEATURE_LS_FOLLOWLINKS
+ if (follow_links == TRUE) {
+ if (stat(av[oi], &cur->dstat)) {
+ errorMsg("%s: %s\n", av[oi], strerror(errno));
+ free(cur->fullname);
+ free(cur);
+ continue;
+ }
+ } else
+#endif
if (lstat(av[oi], &cur->dstat)) { /* get file info into node */
errorMsg("%s: %s\n", av[oi], strerror(errno));
free(cur->fullname);