aboutsummaryrefslogtreecommitdiff
path: root/findutils/find.c
diff options
context:
space:
mode:
authorPaul Fox <pgf@brightstareng.com>2006-05-12 14:47:20 +0000
committerPaul Fox <pgf@brightstareng.com>2006-05-12 14:47:20 +0000
commitd7384296f621e39e2fd86e6e3aae7e743b0aee65 (patch)
tree6899ecf80d354cafe43ba2697b1bcb0b98df60bb /findutils/find.c
parentf7897ec47babe54f0b57ab81873ff82fd3e1ea5b (diff)
downloadbusybox-w32-d7384296f621e39e2fd86e6e3aae7e743b0aee65.tar.gz
busybox-w32-d7384296f621e39e2fd86e6e3aae7e743b0aee65.tar.bz2
busybox-w32-d7384296f621e39e2fd86e6e3aae7e743b0aee65.zip
implement -print0 for find
Diffstat (limited to 'findutils/find.c')
-rw-r--r--findutils/find.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/findutils/find.c b/findutils/find.c
index 7a71af9eb..17a1a5656 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -38,6 +38,9 @@ static const char msg_req_arg[] = "option `%s' requires an argument";
38static const char msg_invalid_arg[] = "invalid argument `%s' to `%s'"; 38static const char msg_invalid_arg[] = "invalid argument `%s' to `%s'";
39 39
40static char *pattern; 40static char *pattern;
41#ifdef CONFIG_FEATURE_FIND_PRINT0
42static char printsep = '\n';
43#endif
41 44
42#ifdef CONFIG_FEATURE_FIND_TYPE 45#ifdef CONFIG_FEATURE_FIND_TYPE
43static int type_mask = 0; 46static int type_mask = 0;
@@ -159,7 +162,11 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk)
159 } 162 }
160#endif 163#endif
161 164
165#ifdef CONFIG_FEATURE_FIND_PRINT0
166 printf("%s%c", fileName, printsep);
167#else
162 puts(fileName); 168 puts(fileName);
169#endif
163no_match: 170no_match:
164 return (TRUE); 171 return (TRUE);
165} 172}
@@ -217,6 +224,10 @@ int find_main(int argc, char **argv)
217 else if (strcmp(argv[i], "-print") == 0) { 224 else if (strcmp(argv[i], "-print") == 0) {
218 ; 225 ;
219 } 226 }
227#ifdef CONFIG_FEATURE_FIND_PRINT0
228 else if (strcmp(argv[i], "-print0") == 0)
229 printsep = '\0';
230#endif
220 else if (strcmp(argv[i], "-name") == 0) { 231 else if (strcmp(argv[i], "-name") == 0) {
221 if (++i == argc) 232 if (++i == argc)
222 bb_error_msg_and_die(msg_req_arg, "-name"); 233 bb_error_msg_and_die(msg_req_arg, "-name");