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

Reply via email to