[PATCH] find: fix regression in status processing for path arguments

Denys Vlasenko vda.linux at googlemail.com
Tue Apr 14 14:45:42 UTC 2015


Applied, thanks!

On Thu, Apr 9, 2015 at 10:20 AM, Felix Fietkau <nbd at openwrt.org> wrote:
> 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 at openwrt.org>
> ---
>  findutils/find.c | 6 ++----
>  1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/findutils/find.c b/findutils/find.c
> index 83aa63f..ced8922 100644
> --- a/findutils/find.c
> +++ b/findutils/find.c
> @@ -1460,12 +1460,10 @@ int find_main(int argc UNUSED_PARAM, char **argv)
>                                 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;
>  }
> --
> 2.2.2
>
> _______________________________________________
> busybox mailing list
> busybox at busybox.net
> http://lists.busybox.net/mailman/listinfo/busybox


More information about the busybox mailing list