summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko2006-10-31 03:20:13 +0000
committerDenis Vlasenko2006-10-31 03:20:13 +0000
commita3b4fed8b3056b1a7429f809ed310512c1bd3a1e (patch)
tree4dfd25f62687b1b49eb63a617cf7250f31e18b9d
parent6191a7a007ff2e22cbf48f323d4e11d9b959fe85 (diff)
downloadbusybox-a3b4fed8b3056b1a7429f809ed310512c1bd3a1e.zip
busybox-a3b4fed8b3056b1a7429f809ed310512c1bd3a1e.tar.gz
find: fix implicit -print (sometime differed from standard)
-rw-r--r--findutils/find.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 3c7e66a..21ea9d4 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -35,6 +35,14 @@
* file.txt
* # find file.txt -name '*f*' -o -name '*z*'
* file.txt
+ *
+ * # find t z -name '*t*' -print -o -name '*z*'
+ * t
+ * # find t z t z -name '*t*' -o -name '*z*' -print
+ * z
+ * z
+ * # find t z t z '(' -name '*t*' -o -name '*z*' ')' -o -print
+ * (no output)
*/
#include "busybox.h"
@@ -193,7 +201,6 @@ SFUNC(exec)
bb_perror_msg("%s", argv[0]);
for (i = 0; i < ap->exec_argc; i++)
free(argv[i]);
- need_print = 0;
return rc == 0; /* return 1 if success */
}
#endif
@@ -202,7 +209,6 @@ SFUNC(exec)
SFUNC(print0)
{
printf("%s%c", fileName, '\0');
- need_print = 0;
return TRUE;
}
#endif
@@ -210,7 +216,6 @@ SFUNC(print0)
SFUNC(print)
{
puts(fileName);
- need_print = 0;
return TRUE;
}
@@ -331,10 +336,12 @@ action*** parse_params(char **argv)
/* --- Tests and actions --- */
else if (strcmp(arg, "-print") == 0) {
+ need_print = 0;
(void) ALLOC_ACTION(print);
}
#if ENABLE_FEATURE_FIND_PRINT0
else if (strcmp(arg, "-print0") == 0) {
+ need_print = 0;
(void) ALLOC_ACTION(print0);
}
#endif
@@ -420,6 +427,7 @@ action*** parse_params(char **argv)
else if (strcmp(arg, "-exec") == 0) {
int i;
action_exec *ap;
+ need_print = 0;
ap = ALLOC_ACTION(exec);
ap->exec_argv = ++argv; /* first arg after -exec */
ap->exec_argc = 0;