Felix Fietkau
f7466e4776
find: fix regression in status processing for path arguments
...
Regression added in commit 14158b4127
"find: add optional support for '-exec ... {} +'"
This commit causes find to exit on the first path argument that was not
found, which breaks existing scripts and is incompatible to other
implementations.
Instead of exiting on the first failure, return EXIT_FAILURE at the end
if any error occurred.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-04-14 16:45:23 +02:00
Denys Vlasenko
3e9b13e4c5
find: support -perm /BITS. Closes 7340
...
function old new delta
parse_params 1487 1497 +10
func_perm 57 61 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 14/0) Total: 14 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-05 12:16:15 +02:00
Denys Vlasenko
f92f1d0181
find: use sysconf(_SC_ARG_MAX) to determine the command-line size limit
...
The find utility uses a hardcoded value of 32 * 1024 as the limit of
the command-line length when calling 'find -exec ... {} +'. This results
in over 4 times more execve() calls than in coreutils' find.
This patch uses the limit defined in system headers.
Based on the patch by Bartosz Golaszewski <bartekgola@gmail.com>.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-22 13:54:40 +02:00
Denys Vlasenko
6be3a5242c
find: exit code fixes for find -exec
...
function old new delta
func_exec 127 100 -27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-19 11:32:11 +02:00
Bartosz Golaszewski
14158b4127
find: add optional support for '-exec ... {} +'
...
function old new delta
do_exec - 309 +309
parse_params 1416 1487 +71
find_main 342 406 +64
packed_usage 29958 30014 +56
func_exec 138 127 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 500/-11) Total: 489 bytes
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-17 17:09:41 +02:00
Denys Vlasenko
6f068904dc
xargs: add support for -I and -i. Closes 493
...
function old new delta
process_stdin_with_replace - 195 +195
xmalloc_substitute_string - 145 +145
xargs_main 808 884 +76
count_strstr - 45 +45
packed_usage 29580 29571 -9
parse_params 1445 1416 -29
func_exec 285 138 -147
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 1/3 up/down: 461/-185) Total: 276 bytes
text data bss dec hex filename
922156 932 17692 940780 e5aec busybox_old
922440 932 17692 941064 e5c08 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-27 11:17:06 +01:00
Denys Vlasenko
6885e49ba5
find: code shrink
...
function old new delta
func_exec 306 285 -21
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-26 15:27:10 +01:00
Denys Vlasenko
6eb0cbe07e
find: fix a regression introduced with -HLP support
...
function old new delta
find_main 294 342 +48
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-09 16:08:09 +01:00
Denys Vlasenko
982e87f2fb
Whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-07-30 11:52:58 +02:00
Denys Vlasenko
6db5f679a2
find:: get rid of nested function (it's a gcc-ism)
...
function old new delta
alloc_action - 80 +80
parse_params 1459 1445 -14
static.alloc_action 98 - -98
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 0/1 up/down: 80/-112) Total: -32 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-16 18:36:42 +02:00
Denys Vlasenko
6782f48ccb
find: support -HLP
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-14 17:20:35 +02:00
Denys Vlasenko
6967578728
whitespace fixes. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 01:34:48 +01:00
Denys Vlasenko
2dc1a97272
find: make -mindepth N -xdev correctly stop on mountpoints
...
function old new delta
fileAction 153 193 +40
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-06 15:24:11 +02:00
Denys Vlasenko
7c8aa2b47c
typo fix in comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-18 02:53:11 +02:00
Denys Vlasenko
be1cfeea2e
find: if DESKTOP=y, support -wholename (synonym for -path)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-05-17 12:25:25 +02:00
Ian Wienand
abc33ac8b2
Fix find -follow support
...
Signed-off-by: Ian Wienand <ianw@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-28 06:53:20 +02:00
Denys Vlasenko
87249fbf50
find: fix a bug in !ENABLE_FEATURE_FIND_XDEV config
...
A subtle one: wrong pairing of "else"!
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-11 02:27:13 +02:00
Denys Vlasenko
66426760be
*: remove "Options:" string from help texts
...
function old new delta
packed_usage 28706 28623 -83
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-05 03:58:28 +02:00
Denys Vlasenko
b24ef035bd
find: cater for libc w/o FNM_CASEFOLD
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-23 00:40:54 +02:00
Bogdan Harjoc
7948ecb505
find: implement -ipath
...
Signed-off-by: Bogdan Harjoc <harjoc@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-22 03:50:21 +02:00
Denys Vlasenko
e1a4209a5e
find: trim help text a bit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 20:37:41 +01:00
Denys Vlasenko
053c12e0de
find: remove the hack we use to parse options first, replace with simpler code
...
text data bss dec hex filename
867764 438 7552 875754 d5cea busybox_old
867629 438 7552 875619 d5c63 busybox_unstripped
function old new delta
parse_params 1377 1440 +63
static.params 151 192 +41
static.options 42 57 +15
fileAction 151 153 +2
find_main 466 267 -199
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/1 up/down: 121/-199) Total: -78 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 20:27:13 +01:00
Denys Vlasenko
805f2453d0
find: print/print0/prune _can_ be inverted, fix it
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 20:26:14 +01:00
Denys Vlasenko
27076b8233
find: document ! (not) operator
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 18:49:48 +01:00
Denys Vlasenko
4604dd86c5
find: help text: PATH must be first
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 18:24:15 +01:00
Denys Vlasenko
56cdb2fc37
find: yet another tweak to help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 17:13:03 +01:00
Denys Vlasenko
4dea9eb07f
find: fix help text about -prune: it also does assume -print
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 17:08:16 +01:00
Denys Vlasenko
cef85c2442
find: significantly improve hext text. +116 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-12 16:35:24 +01:00
Denys Vlasenko
b9f2d9f7d9
mass removal of underscores from _BB_DIR_foo and _BB_SUID_foo
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 13:58:01 +01:00
Denys Vlasenko
a61ff51b49
find: add rudimentary support for -exec {} +
...
function old new delta
parse_params 1421 1414 -7
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-31 19:17:42 +02:00
Denys Vlasenko
0ef64bdb40
*: make GNU licensing statement forms more regular
...
This change retains "or later" state! No licensing _changes_ here,
only form is adjusted (article, space between "GPL" and "v2" and so on).
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 20:14:46 +02:00
Denys Vlasenko
7783248eaa
*: s/xatoi_u/xatoi_positive/g - I got bored of mistyping xatoi_u as xatou_i
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-12 14:14:45 +02:00
Denys Vlasenko
4f731ce30e
findutils/*: move usage and applet bits to *.c files
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-15 15:40:16 +02:00
Denys Vlasenko
2f32bf8be6
remove defconfig. Now "make defconfig" simply uses defaults from Config.in
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-06 04:14:28 +02:00
Denys Vlasenko
7fb68f199f
make it possible to keep Config/Kbuild snippets in *.c files
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-05-09 04:22:48 +02:00
Denys Vlasenko
9138817a27
find: fix -name matching for dotfiles. -1 byte
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-26 09:54:04 +02:00
Denys Vlasenko
651a2697f7
*: merge some common strings
...
text data bss dec hexfilename
838650 8009 0 846659 ceb43busybox_old
838519 8009 0 846528 ceac0busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-23 16:25:17 +01:00
Bernhard Reutner-Fischer
2e73d84c02
find: tweak error message
...
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>
2010-02-25 13:22:37 +01:00
Denys Vlasenko
98a4c7cf3d
*: suppress ~60% of "aliased warnings" on gcc-4.4.1
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 15:00:15 +01:00
Denys Vlasenko
ce9b97f18b
find: correct handling of -xdev
...
function old new delta
find_main 467 448 -19
fileAction 1336 1311 -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-10 02:33:02 +01:00
Matheus Izvekov
d0f601f066
find: add optional support for -links. +100 bytes
...
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-06 09:19:04 +01:00
Denys Vlasenko
2ec91aead5
*: remove some uses of argc
...
function old new delta
whoami_main 34 37 +3
logname_main 60 63 +3
hostid_main 35 38 +3
ttysize_main 136 135 -1
nmeter_main 673 672 -1
logger_main 387 386 -1
uuencode_main 330 328 -2
ifupdown_main 2125 2123 -2
mesg_main 158 155 -3
free_main 333 330 -3
cal_main 902 899 -3
acpid_main 443 440 -3
ar_main 196 189 -7
find_main 476 467 -9
ifconfig_main 1235 1221 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/12 up/down: 9/-49) Total: -40 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-04 14:15:38 +01:00
Denys Vlasenko
1b34d4f0b1
find: add zeroing of G.xxx; ftpd - remove extraneous zeroing of G.xxx
...
Brought "G trick" to the same shape in a few more places.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-30 02:39:57 +02:00
Denys Vlasenko
8f7a6d294f
find: -follow should not error out on dandling links
...
function old new delta
recursive_action 425 465 +40
find_main 436 465 +29
test_main 247 253 +6
need_print 1 - -1
doCommands 2523 2521 -2
compare_keys 737 735 -2
xdev_dev 4 - -4
xdev_count 4 - -4
recurse_flags 4 - -4
mkfs_vfat_main 1609 1605 -4
actions 4 - -4
fileAction 588 583 -5
------------------------------------------------------------------------------
(add/remove: 0/5 grow/shrink: 3/4 up/down: 75/-30) Total: 45 bytes
text data bss dec hex filename
822711 450 7684 830845 cad7d busybox_old
822773 445 7668 830886 cada6 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-29 11:07:04 +02:00
Denys Vlasenko
6c750f1518
find: do not recurse into directories with depth == --maxdepth
...
This may avoid many, many unnecessary stat() calls
function old new delta
fileAction 718 758 +40
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-27 01:51:47 +02:00
Denys Vlasenko
606291beab
*: more portability fixes by Dan Fandrich
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 23:15:43 +02:00
Denys Vlasenko
aa7da73880
add USE_PORTABLE_CODE option and use it in find applet
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-13 14:57:24 +02:00
Denys Vlasenko
043b1e5d99
more C standard compat fixes from Dan Fandrich
...
function old new delta
docolon 207 204 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 12:47:55 +02:00
Denys Vlasenko
d5f1b1bbe0
*: add FAST_FUNC to function ptrs where it makes sense
...
function old new delta
evalcommand 1195 1209 +14
testcmd - 10 +10
printfcmd - 10 +10
echocmd - 10 +10
func_exec 270 276 +6
echo_dg 104 109 +5
store_nlmsg 85 89 +4
pseudo_exec_argv 195 198 +3
dotcmd 287 290 +3
machtime_stream 29 31 +2
discard_stream 24 26 +2
argstr 1299 1301 +2
killcmd 108 109 +1
evalfor 226 227 +1
daytime_stream 43 44 +1
run_list 2544 2543 -1
lookupvar 62 61 -1
ipaddr_modify 1310 1309 -1
...
parse_stream 2254 2245 -9
evalpipe 356 347 -9
collect_if 210 197 -13
read_opt 869 851 -18
handle_dollar 681 658 -23
print_addrinfo 1342 1303 -39
iterate_on_dir 156 59 -97
print_route 1709 1609 -100
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 12/130 up/down: 74/-767) Total: -693 bytes
text data bss dec hex filename
841748 467 7872 850087 cf8a7 busybox_old
841061 467 7872 849400 cf5f8 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05 12:06:05 +02:00
Denis Vlasenko
5e34ff29bc
*: mass renaming of USE_XXXX to IF_XXXX
...
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!
2009-04-21 11:09:40 +00:00