aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Bump version to 1.34.01_34_0Denys Vlasenko2021-08-191-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* scripts/randomtest.loop: let user know about SKIP_MOUNT_MAND_TESTSDenys Vlasenko2021-08-161-3/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* fdisk: indentation fixDenys Vlasenko2021-08-161-4/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* busybox: fix "busybox --help busybox" not showing correct textDenys Vlasenko2021-08-161-1/+5
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: fix testsuiteDenys Vlasenko2021-08-161-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: fix compile-time error if !ENABLE_FEATURE_VI_SETOPTSDenys Vlasenko2021-08-161-0/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: fix testsuiteDenys Vlasenko2021-08-161-7/+10
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: tweak --helpDenys Vlasenko2021-08-151-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: fix testsuiteDenys Vlasenko2021-08-151-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* *: remove remains of FEATURE_TOUCH_NODEREFDenys Vlasenko2021-08-153-5/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* taskset: disallow "taskset -p 0"Denys Vlasenko2021-08-151-2/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* touch: fix SEGV if !ENABLE_FEATURE_TOUCH_SUSV3Denys Vlasenko2021-08-151-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix testsuiteDenys Vlasenko2021-08-151-0/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: fix "error: invalid preprocessing directive ##"Denys Vlasenko2021-08-151-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* traceroute: fix compile error due to FreeBSD compatDenys Vlasenko2021-08-151-1/+6
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cp: fix build failure with long options disabledRon Yorston2021-08-151-3/+1
| | | | | | | | | | | | | When long options were disabled cp failed to compile with: coreutils/cp.c:130:9: error: empty enum is invalid 130 | }; | ^ Rearrange the conditional compilation to suit. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: exclude files before updating hardlink info listHarald van Dijk2021-08-021-5/+5
| | | | | | | | | | | When excluding one file, and including another file that is a hardlink of the excluded file, it should be stored as an ordinary file. function old new delta writeFileToTarball 489 493 +4 Signed-off-by: Harald van Dijk <harald@gigawatt.nl> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tar: simplify addition of --exclude=GLOB to the expansion of -X EXCLFILEDenys Vlasenko2021-08-021-6/+7
| | | | | | | function old new delta tar_main 1115 1105 -10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: tweak ${var/pattern/repl} optimizationDenys Vlasenko2021-07-271-5/+4
| | | | | | | function old new delta expand_one_var 2507 2502 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: optimize ${var/pattern/repl} for trivial patternsDenys Vlasenko2021-07-272-2/+14
| | | | | | | function old new delta expand_one_var 2353 2507 +154 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* shell: update psubst testcasesDenys Vlasenko2021-07-278-6/+53
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: add missed "undef"Denys Vlasenko2021-07-271-3/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* hush: implement $'str' bashismDenys Vlasenko2021-07-267-1/+138
| | | | | | | | | | | function old new delta parse_dollar_squote - 441 +441 encode_then_expand_vararg 359 380 +21 parse_stream 2252 2271 +19 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 2/0 up/down: 481/0) Total: 481 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ahell: update testsuiteDenys Vlasenko2021-07-257-3/+33
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: speed up ${v//pattern/repl}Denys Vlasenko2021-07-251-7/+10
| | | | | | | function old new delta subevalvar 1447 1457 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: speed up ${v//pattern/repl} if !ASH_OPTIMIZE_FOR_SIZEDenys Vlasenko2021-07-221-3/+27
| | | | | | | | | | function old new delta subevalvar 1353 1447 +94 .rodata 104179 104184 +5 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 99/0) Total: 99 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: add toybox-compatible options -O OUTSEP, -D, -F LISTRob Landley2021-07-202-97/+174
| | | | | | | | | | | | function old new delta cut_main 884 1201 +317 packed_usage 33823 33885 +62 .rodata 104186 104179 -7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/1 up/down: 379/-7) Total: 372 bytes Signed-off-by: Rob Landley <rob@landley.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: whitespace and debugging tweaksDenys Vlasenko2021-07-141-67/+66
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: remove redundant assignmentDenys Vlasenko2021-07-141-1/+0
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: disallow break/continue outside of loopsDenys Vlasenko2021-07-142-9/+6
| | | | | | | | | | function old new delta .rodata 104139 104186 +47 chain_group 610 633 +23 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 70/0) Total: 70 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: tighten parsing - disallow extra semicolonsDenys Vlasenko2021-07-141-16/+24
| | | | | | | | | '; BEGIN {...}' and 'BEGIN {...} ;; {...}' are not accepted by gawk function old new delta parse_program 332 353 +21 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: fix regex search compilation errorRon Yorston2021-07-131-1/+1
| | | | | | | Building with FEATURE_VI_REGEX_SEARCH enabled fails. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
* vi: somewhat more readable code, no logic changesDenys Vlasenko2021-07-131-8/+9
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: allow delimiter in ':s' to be escapedRon Yorston2021-07-131-2/+17
| | | | | | | | | | | | | | | | | | | | | | When regular expressions are allowed in search commands it becomes possible to escape the delimiter in search/replace commands. For example, this command will replace '/abc' with '/abc/': :s/\/abc/\/abc\//g The code to split the command into 'find' and 'replace' strings should allow for this possibility. VI_REGEX_SEARCH isn't enabled by default. When it is: function old new delta strchr_backslash - 38 +38 colon 4378 4373 -5 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 38/-5) Total: 33 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: allow regular expressions in ':s' commandsDenys Vlasenko2021-07-131-15/+116
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BusyBox vi has never supported the use of regular expressions in search/replace (':s') commands. Implement this using GNU regex when VI_REGEX_SEARCH is enabled. The implementation: - uses basic regular expressions, to match those used in the search command; - only supports substitution of back references ('\0' - '\9') in the replacement string. Any other character following a backslash is treated as that literal character. VI_REGEX_SEARCH isn't enabled in the default build. In that case: function old new delta colon 4036 4033 -3 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3) Total: -3 bytes When VI_REGEX_SEARCH is enabled: function old new delta colon 4036 4378 +342 .rodata 108207 108229 +22 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 364/0) Total: 364 bytes v2: Rebase. Code shrink. Ensure empty replacement string is null terminated. Signed-off-by: Andrey Dobrovolsky <andrey.dobrovolsky.odessa@gmail.com> Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: improve handling of anchored searchesRon Yorston2021-07-131-0/+2
| | | | | | | | | | | | | | | | | | | | | Suppose we search for a git conflict marker '<<<<<<< HEAD' using the command '/^<<<'. Using 'n' to go to the next match finds '<<<' on the current line, apparently ignoring the '^' anchor. Set a flag in the compiled regular expression to indicate that the start of the string should not be considered a beginning-of-line anchor. An exception has to be made when the search starts from the beginning of the file. Make a similar change for end-of-line anchors. This doesn't affect a default build with VI_REGEX_SEARCH disabled. When it's enabled: function old new delta char_search 247 285 +38 Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: use basic regular expressions for searchRon Yorston2021-07-131-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Both traditional vi and vim use basic regular expressions for search. Also, they don't allow matches to extend across line endings. Thus with the file: 123 234 the search '/2.*4$' should find the second '2', not the first. Make BusyBox vi do the same. Whether or not VI_REGEX_SEARCH is enabled: function old new delta ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/0 up/down: 0/0) Total: 0 bytes Signed-off-by: Andrey Dobrovolsky <andrey.dobrovolsky.odessa@gmail.com> Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* vi: allow 'gg' to specify a rangeRon Yorston2021-07-131-1/+2
| | | | | | | | | | | | | | | | | | Commit 7b93e317c (vi: enable 'dG' command. Closes 11801) allowed 'G' to be used as a range specifier for change/yank/delete operations. Add similar support for 'gg'. This requires setting the 'cmd_error' flag if 'g' is followed by any character other than another 'g'. function old new delta do_cmd 4852 4860 +8 .rodata 108179 108180 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 9/0) Total: 9 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: in parsing, remove superfluous NEWLINE check; optimize builtin arg ↵Denys Vlasenko2021-07-121-5/+6
| | | | | | | | | evaluation function old new delta exec_builtin 1149 1145 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: fix printf "%-10c", 0Denys Vlasenko2021-07-122-4/+13
| | | | | | | function old new delta awk_printf 596 626 +30 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: fix corner case in awk_printfDenys Vlasenko2021-07-111-4/+4
| | | | | | | | | | | Example where it wasn't working: awk 'BEGIN { printf "qwe %s rty %c uio\n", "a", 0, "c" }' - the NUL printing in %c caused premature stop of printing. function old new delta awk_printf 593 596 +3 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* tc: fix for parsing of "dev IFACE" and printing of "class list"Denys Vlasenko2021-07-111-20/+22
| | | | | | | | | | | | | First part (parsing fix) is from Steffen Nurpmeso <steffen@sdaoden.eu> function old new delta .rodata 104120 104138 +18 print_qdisc 469 464 -5 tc_main 980 969 -11 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 18/-16) Total: 2 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: unbreak "cmd" | getlineDenys Vlasenko2021-07-112-1/+7
| | | | | | | function old new delta evaluate 3337 3343 +6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: unbreak "printf('%c') can output NUL" testcaseDenys Vlasenko2021-07-111-17/+26
| | | | | | | function old new delta awk_printf 546 593 +47 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: undo TI_PRINT, it introduced a bug (print with any redirect acting as ↵Denys Vlasenko2021-07-112-3/+10
| | | | | | | | | | | printf) function old new delta evaluate 3329 3337 +8 Patch by Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: rollback_token() + chain_group() == chain_until_rbrace()Denys Vlasenko2021-07-111-2/+1
| | | | | | | function old new delta parse_program 336 332 -4 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: fix printf buffer overflowDenys Vlasenko2021-07-041-39/+55
| | | | | | | | | | | | function old new delta awk_printf 468 546 +78 fmt_num 239 247 +8 getvar_s 125 111 -14 evaluate 3343 3329 -14 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/2 up/down: 86/-28) Total: 58 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: simplify tests for operation classDenys Vlasenko2021-07-031-28/+36
| | | | | | | | | | | | | | | | | | | | | | | Usually, an operation class has only one possible value of "info" word. In this case, just compare the entire info word, do not bother to mask OPCLSMASK bits. (Example where this is not the case: OC_REPLACE for "<op>=") function old new delta mk_splitter 106 100 -6 chain_group 616 610 -6 nextarg 40 32 -8 exec_builtin 1157 1149 -8 as_regex 111 103 -8 awk_split 553 543 -10 parse_expr 948 936 -12 awk_getline 656 642 -14 evaluate 3387 3343 -44 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/9 up/down: 0/-116) Total: -116 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: restore strdup elision optimization in assignmentDenys Vlasenko2021-07-031-8/+17
| | | | | | | function old new delta evaluate 3339 3387 +48 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* awk: match(): code shrinkDenys Vlasenko2021-07-031-13/+11
| | | | | | | | | | function old new delta do_match - 165 +165 exec_builtin_match 202 - -202 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/0 up/down: 165/-202) Total: -37 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>