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
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
3d8b96d58d
grep: fix -o match with empty string (suggested by Colin Watson <cjwatson@ubuntu.com>)
...
function old new delta
grep_file 1216 1251 +35
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-23 02:39:47 +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
4a96617095
xargs: bump default -sNUM up to 32k. Use sysconf() to trim it down if necessary
...
function old new delta
xargs_main 819 830 +11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-19 21:44:01 +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
237aecedab
xargs: another code shrink
...
function old new delta
process0_stdin 117 103 -14
process_stdin 336 314 -22
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-15 10:18:01 +02:00
Denys Vlasenko
f7e929e795
xargs: trivial code shrink
...
function old new delta
xargs_main 807 787 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-15 10:02:04 +02:00
Denys Vlasenko
c28cafb18d
xargs: trivial code shrink
...
function old new delta
process_stdin 343 336 -7
process0_stdin 124 117 -7
xargs_main 807 787 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-14 12:38:36 +02:00
Denys Vlasenko
7a4021deba
xargs: simplify logic
...
Removed double-buffering in a linked list.
function old new delta
store_param - 56 +56
xargs_main 871 840 -31
process_stdin 458 396 -62
process0_stdin 267 143 -124
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/3 up/down: 56/-217) Total: -161 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-06-14 00:57:05 +02:00