When ls -l is run on a directory without execute permission, fail with a
error value of 1
Ok?
Index: ls.c
===================================================================
RCS file: /cvs/src/bin/ls/ls.c,v
retrieving revision 1.37
diff -u -p -r1.37 ls.c
--- ls.c 4 Mar 2011 21:03:19 -0000 1.37
+++ ls.c 6 Mar 2013 13:52:43 -0000
@@ -384,6 +384,13 @@ traverse(int argc, char *argv[], int opt
*/
if (!f_recursive && !(chp == NULL && saved_errno != 0))
(void)fts_set(ftsp, p, FTS_SKIP);
+ if (saved_errno != 0) {
+ warnx("%s: %s", p->fts_name[0] == '\0' ?
+ p->fts_path : p->fts_name,
+ strerror(saved_errno));
+ rval = 1;
+ break;
+ }
break;
case FTS_DC:
warnx("%s: directory causes a cycle", p->fts_name);