On 1/5/07, Paul Eggert <[EMAIL PROTECTED]> wrote:
sqweek <[EMAIL PROTECTED]> writes:

> -      if (errno != EXDEV)
> +      if (errno != EXDEV && errno != EPERM)

This would cause 'mv' to fail to conform to POSIX.

Quoting from copy.c (just above the patch):
     /* WARNING: there probably exist systems for which an inter-device
        rename fails with a value of errno not handled here.
        If/as those are reported, add them to the condition below.
        If this happens to you, please do the following and send the output
        to the bug-reporting address (e.g., in the output of cp --help):
          touch k; perl -e 'rename "k","/tmp/k" or print "$!(",$!+0,")\n"'
        where your current directory is on one partion and /tmp is the other.
        Also, please try to find the E* errno macro name corresponding to
        the diagnostic and parenthesized integer, and include that in your
        e-mail.  One way to do that is to run a command like this
          find /usr/include/. -type f \
            | xargs grep 'define.*\<E[A-Z]*\>.*\<18\>' /dev/null
        where you'd replace `18' with the integer in parentheses that
        was output from the perl one-liner above.
        If necessary, of course, change `/tmp' to some other directory.  */
     if (errno != EXDEV)


_______________________________________________
Bug-coreutils mailing list
Bug-coreutils@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-coreutils

Reply via email to