Aaro Koskinen
6d777b75ed
xargs: make -I imply -r
...
Make -I imply -r (GNU findutils seems to do the same).
Fixes the following bug:
$ echo -n | xargs -I% echo %
Segmentation fault
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-24 22:01:29 +02:00
Denys Vlasenko
0f296a3a56
libiproute: rename invarg(a,b) to invarg_1_to_2(a,b)
...
invarg(a,b) - "invalid argument", but how a and b enter the message?
invarg_1_to_2(a,b) is somewhat easier to read: "invalid argument 'a' to 'b'"
Audit of usage revealed a number of bad uses, with too long messages.
text data bss dec hex filename
938848 932 17448 957228 e9b2c busybox_old
938788 932 17448 957168 e9af0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-14 13:21:01 +02:00
Denys Vlasenko
7b85ec30b5
*: more BUILD_BUG_ON conversions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-13 17:17:34 +02:00
Denys Vlasenko
7f3a2a2256
join some common strings, -400 bytes
...
function old new delta
print_intel_cstates 499 511 +12
file_insert 355 364 +9
dpkg_main 2944 2940 -4
ifenslave_main 645 640 -5
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 21/-9) Total: 12 bytes
text data bss dec hex filename
937564 932 17676 956172 e970c busybox_old
937164 932 17676 955772 e957c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-08 11:24:44 +02:00
Denys Vlasenko
8c0708a329
find: support "find . -delete" idiom - do not try rmdir(".")
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 21:01:47 +02:00
Denys Vlasenko
5711a2a4ad
libbb: more compact API for bb_parse_mode()
...
function old new delta
make_device 2182 2188 +6
parse_command 1440 1443 +3
parse_params 1497 1499 +2
install_main 773 769 -4
mkdir_main 168 160 -8
getoptscmd 641 632 -9
builtin_umask 158 147 -11
bb_parse_mode 431 410 -21
umaskcmd 286 258 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/6 up/down: 11/-81) Total: -70 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 17:55:33 +02:00
Maninder Singh
97c6491b4e
typo fixes
...
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-25 13:46:36 +02:00
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
34cc6c91a2
grep: fix "grep -r PATTRN SYMLINK_TO_DIR"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-28 15:50:09 +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
3795266841
xargs: fix compilation breakage
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-27 15:02:36 +01:00
Denys Vlasenko
83e49ade57
grep: fix -w match if first match isn't a word, but second is. Closes 4520
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-27 14:56:12 +01: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
Bartosz Golaszewski
3ba2df874c
grep: properly handle grep -w "^str" in !EXTRA_COMPAT case too
...
function old new delta
grep_file 1267 1288 +21
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-07 17:15:56 +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
cd55f2d933
grep: fix two bugs with -w
...
Unfortunately, with !EXTRA_COMPAT, "grep -w ^str" still erroneously matches "strstr".
function old new delta
grep_file 1499 1510 +11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-07 14:59:30 +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
James Hogan
5fc0585c01
grep: fix grep -x to not set REG_NOSUB
...
When -F isn't specified (and !ENABLE_EXTRA_COMPAT), grep -x uses
regexec's regmatch_t output to determine if the match was the entire
line. However it also set the REG_NOSUB flag which makes it ignore the
regmatch_t argument.
Add an exception to the setting of REG_NOSUB for OPT_x and add some test
cases to test the behaviour of -x.
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: Natanael Copa <ncopa@alpinelinux.org>
Cc: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-16 14:47:05 +02:00
Bartosz Golaszewski
414db791d0
grep: don't bail out on first mismatch if '-w' option is set
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-05-15 09:20:40 +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
2f5b5beb28
grep: fix grep -Fw not respecting the -w option. Closes 5792
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-20 16:57:19 +01:00
Denys Vlasenko
60cb48ca50
whitespace cleanup. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-14 15:57:44 +01: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
Natanael Copa
cd09e81520
grep: support for -x, match whole line
...
Specified in POSIX.
http://pubs.opengroup.org/onlinepubs/009604499/utilities/grep.html
Signed-off-by: Natanael Copa <ncopa@alpinelinux.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-28 03:44:08 +01:00
Lauri Kasanen
7b46220d92
grep: be GNU compatible with -f EMPTY_FILE
...
Signed-off-by: Lauri Kasanen <curaga@operamail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-28 12:39:04 +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
7cfe6ea99e
xargs: support --no-run-if-empty (synonym to -r)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-03 09:51:57 +01: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
b1993380ba
remove findutils/.gitignore, top-level one covers it
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-11 12:53:19 +02:00
Denys Vlasenko
0296fd3af1
grep: cap insane -B NUM values to MAX_INT / 8. Fixes bug 2653.
...
function old new delta
grep_main 766 779 +13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-02 12:42:28 +02:00