oops. Got stat test logic wrong
authorKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Thu, 4 Apr 1991 04:59:21 +0000 (20:59 -0800)
committerKeith Bostic <bostic@ucbvax.Berkeley.EDU>
Thu, 4 Apr 1991 04:59:21 +0000 (20:59 -0800)
SCCS-vsn: bin/ls/ls.c 5.48

usr/src/bin/ls/ls.c

index 135dfc0..22a75a3 100644 (file)
@@ -15,7 +15,7 @@ char copyright[] =
 #endif /* not lint */
 
 #ifndef lint
 #endif /* not lint */
 
 #ifndef lint
-static char sccsid[] = "@(#)ls.c       5.47 (Berkeley) %G%";
+static char sccsid[] = "@(#)ls.c       5.48 (Berkeley) %G%";
 #endif /* not lint */
 
 #include <sys/param.h>
 #endif /* not lint */
 
 #include <sys/param.h>
@@ -245,7 +245,7 @@ doargs(argc, argv)
        dstats = rstats = NULL;
        for (dircnt = regcnt = 0; *argv; ++argv) {
                if (statfcn(*argv, &sb) &&
        dstats = rstats = NULL;
        for (dircnt = regcnt = 0; *argv; ++argv) {
                if (statfcn(*argv, &sb) &&
-                   statfcn == stat && lstat(*argv, &sb)) {
+                   (statfcn == lstat || lstat(*argv, &sb))) {
                        (void)fprintf(stderr,
                            "ls: %s: %s\n", *argv, strerror(errno));
                        if (errno == ENOENT)
                        (void)fprintf(stderr,
                            "ls: %s: %s\n", *argv, strerror(errno));
                        if (errno == ENOENT)