aboutsummaryrefslogtreecommitdiff
path: root/findutils/find.c
diff options
context:
space:
mode:
authorvda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-12 22:31:15 +0000
committervda <vda@69ca8d6d-28ef-0310-b511-8ec308f3f277>2006-12-12 22:31:15 +0000
commit6042094221b950dfc2a56f3ab58dfb9a93b0226d (patch)
tree94e33f089502ba8625c31f72b93ae365e906d9d0 /findutils/find.c
parent7993d9224b6a93d1d4b1bc4fb7c64c5195073913 (diff)
downloadbusybox-w32-6042094221b950dfc2a56f3ab58dfb9a93b0226d.tar.gz
busybox-w32-6042094221b950dfc2a56f3ab58dfb9a93b0226d.tar.bz2
busybox-w32-6042094221b950dfc2a56f3ab58dfb9a93b0226d.zip
build system: add "release" target
find: support -size N (needed for above) git-svn-id: svn://busybox.net/trunk/busybox@16862 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'findutils/find.c')
-rw-r--r--findutils/find.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/findutils/find.c b/findutils/find.c
index edb8482d8..bf6b71a83 100644
--- a/findutils/find.c
+++ b/findutils/find.c
@@ -69,6 +69,7 @@ USE_FEATURE_FIND_NEWER( ACTS(newer, time_t newer_mtime;))
69USE_FEATURE_FIND_INUM( ACTS(inum, ino_t inode_num;)) 69USE_FEATURE_FIND_INUM( ACTS(inum, ino_t inode_num;))
70USE_FEATURE_FIND_EXEC( ACTS(exec, char **exec_argv; int *subst_count; int exec_argc;)) 70USE_FEATURE_FIND_EXEC( ACTS(exec, char **exec_argv; int *subst_count; int exec_argc;))
71USE_DESKTOP( ACTS(paren, action ***subexpr;)) 71USE_DESKTOP( ACTS(paren, action ***subexpr;))
72USE_DESKTOP( ACTS(size, off_t size;))
72USE_DESKTOP( ACTS(prune)) 73USE_DESKTOP( ACTS(prune))
73 74
74static action ***actions; 75static action ***actions;
@@ -225,6 +226,7 @@ ACTF(paren)
225{ 226{
226 return exec_actions(ap->subexpr, fileName, statbuf); 227 return exec_actions(ap->subexpr, fileName, statbuf);
227} 228}
229
228/* 230/*
229 * -prune: if -depth is not given, return true and do not descend 231 * -prune: if -depth is not given, return true and do not descend
230 * current dir; if -depth is given, return false with no effect. 232 * current dir; if -depth is given, return false with no effect.
@@ -235,6 +237,11 @@ ACTF(prune)
235{ 237{
236 return SKIP; 238 return SKIP;
237} 239}
240
241ACTF(size)
242{
243 return statbuf->st_size == ap->size;
244}
238#endif 245#endif
239 246
240 247
@@ -487,6 +494,13 @@ action*** parse_params(char **argv)
487 else if (strcmp(arg, "-prune") == 0) { 494 else if (strcmp(arg, "-prune") == 0) {
488 (void) ALLOC_ACTION(prune); 495 (void) ALLOC_ACTION(prune);
489 } 496 }
497 else if (strcmp(arg, "-size") == 0) {
498 action_size *ap;
499 if (!*++argv)
500 bb_error_msg_and_die(bb_msg_requires_arg, arg);
501 ap = ALLOC_ACTION(size);
502 ap->size = XATOOFF(arg1);
503 }
490#endif 504#endif
491 else 505 else
492 bb_show_usage(); 506 bb_show_usage();