diff options
author | Paul Fox | 2006-05-12 14:47:20 +0000 |
---|---|---|
committer | Paul Fox | 2006-05-12 14:47:20 +0000 |
commit | d7384296f621e39e2fd86e6e3aae7e743b0aee65 (patch) | |
tree | 6899ecf80d354cafe43ba2697b1bcb0b98df60bb /findutils/find.c | |
parent | f7897ec47babe54f0b57ab81873ff82fd3e1ea5b (diff) | |
download | busybox-d7384296f621e39e2fd86e6e3aae7e743b0aee65.zip busybox-d7384296f621e39e2fd86e6e3aae7e743b0aee65.tar.gz |
implement -print0 for find
Diffstat (limited to 'findutils/find.c')
-rw-r--r-- | findutils/find.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/findutils/find.c b/findutils/find.c index 7a71af9..17a1a56 100644 --- a/findutils/find.c +++ b/findutils/find.c @@ -38,6 +38,9 @@ static const char msg_req_arg[] = "option `%s' requires an argument"; static const char msg_invalid_arg[] = "invalid argument `%s' to `%s'"; static char *pattern; +#ifdef CONFIG_FEATURE_FIND_PRINT0 +static char printsep = '\n'; +#endif #ifdef CONFIG_FEATURE_FIND_TYPE static int type_mask = 0; @@ -159,7 +162,11 @@ static int fileAction(const char *fileName, struct stat *statbuf, void* junk) } #endif +#ifdef CONFIG_FEATURE_FIND_PRINT0 + printf("%s%c", fileName, printsep); +#else puts(fileName); +#endif no_match: return (TRUE); } @@ -217,6 +224,10 @@ int find_main(int argc, char **argv) else if (strcmp(argv[i], "-print") == 0) { ; } +#ifdef CONFIG_FEATURE_FIND_PRINT0 + else if (strcmp(argv[i], "-print0") == 0) + printsep = '\0'; +#endif else if (strcmp(argv[i], "-name") == 0) { if (++i == argc) bb_error_msg_and_die(msg_req_arg, "-name"); |