Follow-up Comment #8, bug #19605 (project findutils):
You are still trying to bring the POSIX requirements for directory loop
detection into this, which I have already pointed out are a completely
different thing and not relevant. The requirements for a diagnostic in the
symlink loop case come from XCU section 1.11 Utility Description Defaults,
under the heading "CONSEQUENCES OF ERRORS":
"If the requested action cannot be performed on an operand representing a
file, directory, user, process, and so on, the utility shall issue a
diagnostic message to standard error and continue processing the next operand
in sequence, but the final exit status shall be returned as non-zero.
For a utility that recursively traverses a file hierarchy (such as find or
chown -R), if the requested action cannot be performed on a file or directory
encountered in the hierarchy, the utility shall issue a diagnostic message to
standard error and continue processing the remaining files in the hierarchy,
but the final exit status shall be returned as non-zero."
Part of the "requested action", when the -L option is used, is to determine
whether symlinks point to a directory or not, and to descend into the
directory if they do.
As regards -H, I believe the "referenced file does not exist" part is related
to dangling links (i.e. stat() fails with ENOENT) and should not be applied in
the ELOOP case. AIX, HP-UX and Solaris all report an error for a path operand
that is a symlink loop with both -L and -H.
_______________________________________________________
Reply to this item at:
<http://savannah.gnu.org/bugs/?19605>
_______________________________________________
Message sent via/by Savannah
http://savannah.gnu.org/
_______________________________________________
Bug-findutils mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-findutils