cp: fix --no-preserve=mode to not exit 1
authorBernhard Voelker <mail@bernhard-voelker.de>
Sat, 8 Dec 2012 18:09:19 +0000 (19:09 +0100)
committerBernhard Voelker <mail@bernhard-voelker.de>
Sat, 8 Dec 2012 18:09:19 +0000 (19:09 +0100)
commit62543570d72b756a3b04ca9d1ebec6f4dd2eea4b
tree2260d931c4e39872e29175f3c75d3517b7a187bc
parent10d35b438e731f6f0c1528d4855cdb9cf8b88349
cp: fix --no-preserve=mode to not exit 1

cp --no-preserve=mode exited 1 unconditionally.  Furthermore,
the tests which would have detected this error - namely
link-preserve.sh and reserve-mode.sh - failed to test
cp's exit code.

* src/copy.c (copy_reg): In the case x->explicit_no_preserve_mode,
do only set return_val to false iff the previous set_acl ()
failed.
* tests/cp/link-preserve.sh: Check cp's exit code.
* tests/cp/link-symlink.sh: Likewise.
* tests/cp/preserve-mode.sh: Likewise.
* NEWS: Mention the fix.

Bug introduced in commit v8.19-145-g24ebca6.

Reported by Florian Pritz in http://bugs.gnu.org/13119.
NEWS
src/copy.c
tests/cp/link-preserve.sh
tests/cp/link-symlink.sh
tests/cp/preserve-mode.sh