find: tweak error message
authorBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 25 Feb 2010 12:22:37 +0000 (13:22 +0100)
committerBernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Thu, 25 Feb 2010 12:22:37 +0000 (13:22 +0100)
big find:
find: missing argument to `-exec'
we now say
find: -exec requires an argument
instead of the cryptic message we emitted previously.
Additional benefit is that it's now 23 bytes smaller.

Add TODO to add '-exec {} +' support

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
findutils/find.c

index 4bc3b38..f45abbe 100644 (file)
@@ -674,10 +674,14 @@ static action*** parse_params(char **argv)
                        ap->exec_argv = ++argv; /* first arg after -exec */
                        ap->exec_argc = 0;
                        while (1) {
-                               if (!*argv) /* did not see ';' until end */
-                                       bb_error_msg_and_die("-exec CMD must end by ';'");
+                               if (!*argv) /* did not see ';' or '+' until end */
+                                       bb_error_msg_and_die(bb_msg_requires_arg, "-exec");
                                if (LONE_CHAR(argv[0], ';'))
                                        break;
+                               //TODO: implement {} + (like xargs)
+                               // See:
+                               // find findutils/ -exec echo ">"{}"<" \;
+                               // find findutils/ -exec echo ">"{}"<" +
                                argv++;
                                ap->exec_argc++;
                        }