busybox: fix regression in handling non-existant find path arguments (#19439)

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@45321 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
Felix Fietkau 2015-04-09 08:02:33 +00:00
parent 10dd186786
commit 1a8f907d2d

View File

@ -0,0 +1,31 @@
find: fix regression in status processing for path arguments
Regression added in commit 14158b4127dba30466c50147b868a6a89702960b
"find: add optional support for '-exec ... {} +'"
This commit causes find to exit on the first path argument that was not
found, which breaks existing scripts and is incompatible to other
implementations.
Instead of exiting on the first failure, return EXIT_FAILURE at the end
if any error occurred.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -1460,12 +1460,10 @@ int find_main(int argc UNUSED_PARAM, cha
NULL, /* user data */
0) /* depth */
) {
- status = EXIT_FAILURE;
- goto out;
+ status |= EXIT_FAILURE;
}
}
- IF_FEATURE_FIND_EXEC_PLUS(status = flush_exec_plus();)
-out:
+ IF_FEATURE_FIND_EXEC_PLUS(status |= flush_exec_plus();)
return status;
}