summaryrefslogtreecommitdiff
path: root/src/ls.c
diff options
context:
space:
mode:
authorJim Meyering <meyering@redhat.com>2009-09-28 18:29:02 +0200
committerJim Meyering <meyering@redhat.com>2009-09-29 07:28:39 +0200
commit242689c7f93de72693979f877dd31b3ef7178eea (patch)
tree29bc802c220b4d78ff9a1c3d659bc77aa898da9c /src/ls.c
parent30c65cd49c98e56b65beef8812a4a25df4b1178a (diff)
downloadcoreutils-242689c7f93de72693979f877dd31b3ef7178eea.tar.xz
ls: with -LR, exit with status 2 upon detecting a cycle
* src/ls.c (print_dir): Diagnosing the cycle is not enough. Also set exit status to 2. This is what Solaris' /bin/ls does, too. * tests/ls/infloop: Rework test: match both expected stdout and stderr. Require an exit status of 2 in this case. * doc/coreutils.texi (ls invocation): Mention that a loop provokes in an exit status of 2. * NEWS (Bug fixes): Mention it. Reported by Yang Ren in http://bugzilla.redhat.com/525402. * THANKS: Correct ordering of Yang Ren's names.
Diffstat (limited to 'src/ls.c')
-rw-r--r--src/ls.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/ls.c b/src/ls.c
index 1bb6873ed..86f5c3260 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -2471,6 +2471,7 @@ print_dir (char const *name, char const *realname, bool command_line_arg)
error (0, 0, _("%s: not listing already-listed directory"),
quotearg_colon (name));
closedir (dirp);
+ set_exit_status (true);
return;
}