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
This commit is contained in:
Eric Andersen 2000-10-09 17:51:25 +00:00
parent 13241dfbdd
commit 958c78f9a1
2 changed files with 22 additions and 2 deletions

View File

@ -790,7 +790,17 @@ extern int ls_main(int argc, char **argv)
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);

12
ls.c
View File

@ -790,7 +790,17 @@ extern int ls_main(int argc, char **argv)
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);