aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * shuf: make -i 99999999990-100000000000 work even on 32 bitsDenys Vlasenko2021-09-041-26/+19
| | | | | | | | | | | | | | | | | | | | function old new delta shuf_main 443 501 +58 .rodata 104238 104245 +7 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 65/0) Total: 65 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcp: add comments, no code changesDenys Vlasenko2021-09-041-7/+24
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * examples/var_service/fw/run: allow extif's to be more than one ifaceDenys Vlasenko2021-09-021-8/+12
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * ash: regressions in process substitutionRon Yorston2021-09-021-3/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Stacy Harper reports that this script: test() { . /tmp/bb_test; } echo "export TEST=foo" >/tmp/bb_test test 2>/dev/null echo "$TEST" correctly prints 'foo' in BusyBox 1.33 but hangs in 1.34. Bisection suggested the problem was caused by commit a1b0d3856 (ash: add process substitution in bash-compatibility mode). Removing the call to unwindredir() in cmdloop() introduced in that commit makes the script work again. Additionally, these examples of process substitution: while true; do cat <(echo hi); done f() { while true; do cat <(echo hi); done } f result in running out of file descriptors. This is a regression from v5 of the process substitution patch caused by changes to evalcommand() not being transferred to v6. function old new delta static.pushredir - 99 +99 evalcommand 1729 1750 +21 exitreset 69 86 +17 cmdloop 372 365 -7 unwindredir 28 - -28 pushredir 112 - -112 ------------------------------------------------------------------------------ (add/remove: 1/2 grow/shrink: 2/1 up/down: 137/-147) Total: -10 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * dhcprelay: change two more variables to unsignedDenys Vlasenko2021-09-021-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcp: clarify aspects of relay operation, add TODOs and FIXMEs, tweak --helpDenys Vlasenko2021-09-022-22/+46
| | | | | | | | | | | | | | | | | | | | function old new delta packed_usage 33891 33920 +29 dhcprelay_main 943 926 -17 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 29/-17) Total: 12 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcpd: check config file for bad IP ranges (start > end)Denys Vlasenko2021-09-021-4/+6
| | | | | | | | | | | | | | | | | | | | function old new delta .rodata 104209 104238 +29 read_config 208 225 +17 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 46/0) Total: 46 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcpd: update --help to include -a MSECDenys Vlasenko2021-09-021-6/+12
| | | | | | | | | | | | | | function old new delta packed_usage 33886 33891 +5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | ash: code shrink ps_cmdRon Yorston2021-09-081-6/+12
| | | | | | | | | | | | | | The ps_cmd member of struct procstat isn't used in the WIN32 port. Remove references to it. Saves 80 bytes.
* | ash: code shrinkRon Yorston2021-09-051-10/+6
| | | | | | | | | | | | Tweak the code to handle /etc/profile. Looks tidier and saves 8 bytes.
* | ash: restrict valid job idsRon Yorston2021-09-051-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Although job control is disabled in busybox-w32 getjob() is still compiled in because it's used by waitcmd(). Job ids of the form '%string' or '%?string' don't work, though, because the command isn't stored in the job structure. Disable the code to handle them. Job ids '%%', '%+', '%-' and '%num' are still allowed and some of them are (successfully) used in the ash tests. Saves 144 bytes.
* | ash: omit handling of stopped jobsRon Yorston2021-09-051-1/+10
| | | | | | | | | | | | | | Since Windows doesn't really know about stopped jobs don't bother to compile some code that deals with them. Saves 120 bytes.
* | libbb: code shrink u_signal_names.cRon Yorston2021-09-031-1/+10
| | | | | | | | | | | | Reduce amount of wasted space in the signals[][] array. Saves 48 bytes.
* | win32: use inet_pton() from muslRon Yorston2021-09-031-183/+75
| | | | | | | | Saves 88 bytes.
* | win32: fix entropy collection for isaacRon Yorston2021-09-021-20/+10
| | | | | | | | | | | | | | | | | | The condition to detect the end of the environment string was wrong. Don't bother calculating the MD5SUM of the environment, just XOR the bytes into the data. This reduces bloat by 320 bytes but only in the non-default case.
* | config: turn off DEBUG in default buildsRon Yorston2021-08-312-2/+2
| |
* | vi: add fileformats optionRon Yorston2021-08-303-17/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a limited version of the 'fileformats' option. Only the 'dos,unix' and 'unix,dos' settings are allowed with the former as default. When a file is read for editing its format is detected. If it only has LF line endings it's treated as being of type 'unix' otherwise its type is 'dos'. When an empty edit buffer is created it's given the first file type listed in 'fileformats'. The file type is stored in the read-only option 'fileformat' and is used to select the appropriate line endings when the file is written. See GitHub issue #220. Adds 168 bytes to the binary.
* | shuf: silence compiler warningRon Yorston2021-08-301-1/+1
| |
* | Merge branch 'busybox' into mergeRon Yorston2021-08-309-99/+165
|\|
| * vi: further changes to colon addressesRon Yorston2021-08-291-49/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improved error messages: - specify when a search fails or a mark isn't set; - warn when line addresses are out of range or when a range of lines is reversed. Addresses are limited to the number of lines in the file so a command like ':2000000000' (go to the two billionth line) no longer causes a long pause. Improved vi compatibility of '+' and '-' operators that aren't followed immediately by a number: :4+++= 7 :3-2= 1 :3 - 2= 4 (yes, really!) In a command like ':,$' the empty address before the separator now correctly refers to the current line. (The similar case ':1,' was already being handled.) And all with a tidy reduction in bloat (32-bit build): function old new delta colon 4029 4069 +40 .rodata 99348 99253 -95 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 40/-95) Total: -55 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * bzip: make ftab[] and crc32table[] member arrays of EState, do not allocateDenys Vlasenko2021-08-292-8/+10
| | | | | | | | | | | | | | | | | | | | | | | | function old new delta mainSort 941 986 +45 fallbackSort 1471 1469 -2 add_pair_to_block 194 188 -6 compressStream 543 515 -28 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/3 up/down: 45/-36) Total: 9 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shuf: in -i RANGE, accept numbers up to width of pointersDenys Vlasenko2021-08-291-10/+28
| | | | | | | | | | | | | | | | function old new delta .rodata 108468 108474 +6 shuf_main 555 542 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shuf: with -i LOW-HIGH, do not allow any argv'sDenys Vlasenko2021-08-231-0/+3
| | | | | | | | | | | | | | function old new delta shuf_main 436 441 +5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shuf: tweak --help textDenys Vlasenko2021-08-231-4/+4
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * mount: code shrinkDenys Vlasenko2021-08-231-4/+4
| | | | | | | | | | | | | | function old new delta append_mount_options 174 157 -17 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * mount: with -w, do not fall back to read-only mountsDenys Vlasenko2021-08-231-7/+15
| | | | | | | | | | | | | | function old new delta mount_it_now 364 358 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tar,smemcap: silence compiler warningRon Yorston2021-08-221-1/+1
| | | | | | | | | | | | | | | | | | gcc 11.2.1 complains that the tar header checksum might overflow the checksum field. It won't and using an unsigned int for the calculation seems to convince the compiler too. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Regularize "NUL terminated input" --help textsDenys Vlasenko2021-08-223-3/+3
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * shuf: speed-up when limited output is requestedRon Yorston2021-08-221-14/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A user noted that the following command was slower than they expected: busybox shuf -i "1500000000-$(date +%s)" -n 5 At time of writing the range contains 128 million values. On my system this takes 7.7s whereas 'shuf' from coreutils takes a handful of milliseconds. Optimise BusyBox 'shuf' for cases where -n is specified by stopping shuffling once the required number of lines have been processed. On my system the time for the example is reduced to 0.4s. function old new delta shuf_main 520 540 +20 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 20/0) Total: 20 bytes v2: Code shrink. Since outlines <= numlines: - the loop in shuffle_lines() only needs to test the value of outlines; - shuffle_lines() can be called unconditionally. Update timing to allow for the 13 million seconds elapsed since v1. Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | win32: code shrinkRon Yorston2021-08-271-0/+2
| | | | | | | | | | | | | | | | Turn off the 'if-conversion' optimisation for err_win_to_posix(). My tests actually have this being slightly faster than with the optimisation enabled, though within the variation of the measurement. Saves 288 bytes.
* | vi: skip permission check on .exrcRon Yorston2021-08-221-0/+4
| | | | | | | | | | POSIX requires that the .exrc file is only writable by its owner. Our bogus permissions can't confirm this so just skip the test.
* | Merge branch 'busybox' into mergeRon Yorston2021-08-229-142/+194
|\|
| * vi: code shrink print_literal()Ron Yorston2021-08-221-17/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Simplify the function print_literal() which is used to format a string that may contain unprintable characters or control characters. - Unprintable characters were being displayed in normal text rather than the bold used for the rest of the message. This doesn't seem particularly helpful and it upsets the calculation of the width of the message in show_status_line(). Use '?' rather than '.' for unprintable characters. - Newlines in the string were displayed as both '^J' and '$', which is somewhat redundant. function old new delta not_implemented 199 108 -91 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-91) Total: -91 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * vi: searches in colon commands should wrapRon Yorston2021-08-221-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The '/' and '?' search commands wrap to the other end of the buffer if the search target isn't found. When searches are used to specify addresses in colon commands they should do the same. (In traditional vi and vim this behaviour is controlled by the 'wrapscan' option. BusyBox vi doesn't have this option and always uses the default behaviour.) function old new delta colon 4033 4077 +44 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 44/0) Total: 44 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * rev: correct output for long input linesRon Yorston2021-08-222-0/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The input buffer is initialised to a reasonable size and extended if necessary. When this happened the offset into the buffer wasn't reset to zero so subsequent lines were appended to the long line. Fix this and add some tests. function old new delta rev_main 377 368 -9 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-9) Total: -9 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * tar,smemcap: commonalyze checksumming code for tar headerDenys Vlasenko2021-08-204-44/+39
| | | | | | | | | | | | | | | | | | | | | | function old new delta chksum_and_xwrite_tar_header - 99 +99 writeheader 280 199 -81 chksum_and_xwrite 102 - -102 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 0/1 up/down: 99/-183) Total: -84 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * vi: don't right shift empty linesRon Yorston2021-08-201-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | The right shift command ('>') shouldn't affect empty lines. function old new delta do_cmd 4860 4894 +34 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/0 up/down: 34/0) Total: 34 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * vi: support ~/.exrcRon Yorston2021-08-201-8/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run initialisation commands from ~/.exrc. As with EXINIT these commands are processed before the first file is loaded. Commands starting with double quotes are ignored. This is how comments are often included in .exrc. function old new delta vi_main 268 406 +138 colon 4033 4071 +38 .rodata 108411 108442 +31 packed_usage 34128 34118 -10 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 3/1 up/down: 207/-10) Total: 197 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * vi: changes to handling of -c and EXINITRon Yorston2021-08-201-58/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite handling of command line arguments so any number of -c commands will be processed. Previously only two -c commands were allowed (or one if EXINIT was set). Process commands from EXINIT before the first file is read into memory, as specified by POSIX. function old new delta run_cmds - 77 +77 .rodata 108410 108411 +1 vi_main 305 268 -37 edit_file 816 764 -52 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/2 up/down: 78/-89) Total: -11 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * udhcp: fix build breakage on MIPSDenys Vlasenko2021-08-201-12/+0
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Start 1.35.0 development cycleDenys Vlasenko2021-08-191-2/+2
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
| * Bump version to 1.34.01_34_0Denys Vlasenko2021-08-191-1/+1
| | | | | | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* | Merge branch 'busybox' into mergeRon Yorston2021-08-1740-59/+301
|\|
| * 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>