aboutsummaryrefslogtreecommitdiff
path: root/coreutils (follow)
Commit message (Collapse)AuthorAgeFilesLines
* md5/sha1sum: Honor the -b flag in the outputMartin Storsjö10 days1-4/+10
| | | | | | | | | | | | | | | | | | | | | | | | The output of md5sum/sha1sum contains a character to indicate what mode was used to read the file - '*' for binary, and ' ' for text or where binary is insignificant. This flag character makes a difference for the ffmpeg testsuite. This testsuite contains a number of reference files (e.g. [1]), containing the expected md5sum output for those files, which is checked verbatim. By making busybox's md5sum honor this flag in the output, ffmpeg's testsuite can run successfully on top of busybox. The flag is only partially implemented; in coreutils md5sum, a later "-t" option overrides an earlier "-b" option. Here, just check if a "-b" option was specified or not. Neither flag affects how the files actually are read. [1] https://code.ffmpeg.org/FFmpeg/FFmpeg/src/commit/894da5ca7d742e4429ffb2af534fcda0103ef593/tests/ref/acodec/flac Signed-off-by: Martin Storsjö <martin@martin.st> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* coreutils: fixes for coreutils/id_test.sh scriptDenys Vlasenko11 days1-11/+11
| | | | | | Patch from Tito Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* dd: fix overflow for very large count/seek/skip valuesDenys Vlasenko2025-11-081-9/+3
| | | | | | | | | | | | function old new delta xatoull_range_sfx - 49 +49 dd_main 1607 1640 +33 bb_banner 47 46 -1 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 82/-1) Total: 81 bytes Signed-off-by: Sertonix <sertonix@posteo.net> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: restore functionality of --colorDenys Vlasenko2025-11-081-1/+1
| | | | | | | | | | | | | | | Since commit 551bfdb97 (ls: implement -q, fix -w0, reduce startup time) the '--color' option behaves as though the default argument 'always' had been specified. This is due to an explicit short option for '--color' being given, but without specifying that an argument is expected. function old new delta .rodata 106027 106029 +2 Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cp: fix `cp -aT` overwriting symlink to directoriesDenys Vlasenko2025-10-071-1/+2
| | | | | | | | | | | | busybox cp refuses to overwrite another symlink to a directory due to an incorrect stat() call that should be lstat(). When using -T, we want to consider the target argument directly without resolving symlinks. function old new delta cp_main 496 514 +18 Signed-off-by: Dominique Martinet <dominique.martinet@atmark-techno.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: don't do unnecessary tty operations when called from ftpdDenys Vlasenko2025-08-011-5/+13
| | | | | | | function old new delta ls_main 660 690 +30 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: code shrinkDenys Vlasenko2025-08-011-19/+20
| | | | | | Looks like gcc can figure this out by itself, but let's be explicit Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: fix -Q to match GNUDenys Vlasenko2025-08-011-12/+38
| | | | | | | | | | | | | function old new delta print_name 137 229 +92 display_files 375 402 +27 c_escape_conv_str00 - 24 +24 display 1476 1485 +9 conv_str 33 - -33 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 3/0 up/down: 152/-33) Total: 119 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: lack of -q should not suppress -QDenys Vlasenko2025-07-311-4/+6
| | | | | | | | | | function old new delta print_name 134 137 +3 display_files 374 375 +1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 4/0) Total: 4 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ls: implement -q, fix -w0, reduce startup timeDenys Vlasenko2025-07-311-60/+111
| | | | | | | | | | | | | | | | function old new delta ls_main 598 660 +62 ls_longopts - 47 +47 G_isatty - 36 +36 print_name 102 134 +32 display_files 358 374 +16 .rodata 105829 105833 +4 vgetopt32 1330 1317 -13 static.ls_longopts 47 - -47 ------------------------------------------------------------------------------ (add/remove: 2/1 grow/shrink: 4/1 up/down: 197/-60) Total: 137 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* date: return failure exit code on clock_settime errorLadislav Michl2025-07-301-1/+1
| | | | | Signed-off-by: Ladislav Michl <ladis@linux-mips.org> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* sha384sum: new appletAndy Knowles2025-07-301-17/+41
| | | | | | | | | | | | | | | | | | | | | function old new delta sha512384_end - 198 +198 packed_usage 35021 35134 +113 init384 - 80 +80 sha384_begin - 19 +19 sha384_end - 10 +10 applet_names 2823 2833 +10 md5_sha1_sum_main 501 507 +6 sha3_end 54 59 +5 applet_main 1628 1632 +4 show_usage_if_dash_dash_help 79 72 -7 hash_file 358 344 -14 sha512_end 197 10 -187 ------------------------------------------------------------------------------ (add/remove: 4/0 grow/shrink: 5/3 up/down: 445/-208) Total: 237 bytes Signed-off-by: Andy Knowles <aknowles@galleonec.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* df: -k overrides block size to 1k even if $POSIXLY_CORRECTDenys Vlasenko2025-07-011-2/+5
| | | | | | | function old new delta df_main 1060 1070 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: code shrinkDenys Vlasenko2024-12-211-6/+5
| | | | | | | | | move "linenum" manipulations to the one place where it is used. function old new delta cut_main 1373 1360 -13 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: code shrinkDenys Vlasenko2024-12-211-9/+13
| | | | | | | | | | | | | This change eliminates one temporary: - if (dcount++ < cut_list[cl_pos].startpos) + dcount++; + if (dcount <= cut_list[cl_pos].startpos) function old new delta cut_main 1402 1373 -29 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix up -D/-s behavior with -FDenys Vlasenko2024-12-201-3/+3
| | | | | | | | | | function old new delta cut_main 1388 1402 +14 packed_usage 34934 34933 -1 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 14/-1) Total: 13 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: remove unnecessary initialization of regmatch_tDenys Vlasenko2024-12-201-1/+1
| | | | | | | function old new delta cut_main 1404 1388 -16 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: shorten error messages on bad syntax even moreDenys Vlasenko2024-12-161-10/+6
| | | | | | | | | | | | | | | $ cut -s -b3 cut: -s requires -f or -F $ cut -d@ -b3 cut: -d DELIM requires -f or -F function old new delta static.requires_f - 19 +19 static._op_on_field 32 - -32 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 0/0 up/down: 19/-32) Total: -13 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: shorten error messages on bad syntaxDenys Vlasenko2024-12-161-3/+3
| | | | | | | | | | | | | | | | | We don't need to mimic GNU cut error messages. $ cut -d@ -b3 cut: -d DELIM makes sense only with -f or -F $ cut -s -b3 cut: -s makes sense only with -f or -F function old new delta static._op_on_field 31 32 +1 .rodata 105659 105598 -61 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 1/-61) Total: -60 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: terminate cut_list[] so that we don't need "size of the array" variableDenys Vlasenko2024-12-161-20/+25
| | | | | | | function old new delta cut_main 1410 1404 -6 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: we can't get empty cut_list[], remove the check for thatDenys Vlasenko2024-12-161-8/+11
| | | | | | | function old new delta .rodata 105685 105659 -26 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: disallow -f '' and -f '-'Denys Vlasenko2024-12-151-15/+19
| | | | | | | function old new delta cut_main 1391 1410 +19 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix -F n-m to match toyboxDenys Vlasenko2024-12-141-0/+10
| | | | | | | function old new delta cut_main 1339 1391 +52 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: simplify getopt32 codeDenys Vlasenko2024-12-131-11/+8
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: "it's legal to pass an empty list" seems to be untrueDenys Vlasenko2024-12-131-46/+44
| | | | | | | function old new delta cut_main 1344 1339 -5 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: whitespace fixesDenys Vlasenko2024-12-131-3/+3
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: tweak commentsDenys Vlasenko2024-12-131-3/+2
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix handling of -d ''Denys Vlasenko2024-12-131-1/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: prevent infinite loop if -F REGEX matches empty delimiterDenys Vlasenko2024-12-131-1/+3
| | | | | | | function old new delta cut_main 1339 1348 +9 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: tweak --helpDenys Vlasenko2024-12-111-9/+8
| | | | | | | | | | | function old new delta packed_usage 34901 34934 +33 cut_main 1353 1339 -14 .rodata 105724 105685 -39 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/2 up/down: 33/-53) Total: -20 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix -d$'\n' --output-delimiter=@@ behaviorDenys Vlasenko2024-12-101-7/+27
| | | | | | | | | | function old new delta cut_main 1261 1353 +92 packed_usage 34925 34901 -24 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 92/-24) Total: 68 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: implement --output-delimiterDenys Vlasenko2024-12-101-2/+25
| | | | | | | | | | function old new delta cut_main 1204 1261 +57 static.cut_longopts - 20 +20 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/0 up/down: 77/0) Total: 77 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: with -F disabled in .config, don't show it in --helpDenys Vlasenko2024-12-101-5/+13
| | | | | | | function old new delta packed_usage 34897 34849 -48 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: comment out code which seems to be not neededDenys Vlasenko2024-12-101-7/+7
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix "echo 1.2 | cut -d. -f1,3" (print "1", not "1.")Denys Vlasenko2024-12-101-5/+18
| | | | | | | function old new delta cut_main 1228 1201 -27 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: with -F, do not regcomp() pattern for every fileDenys Vlasenko2024-12-101-18/+24
| | | | | | | function old new delta cut_main 1218 1228 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: rename "cut_lists" to "cut_list"Denys Vlasenko2024-12-101-19/+20
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: rename some variables to hopefully better namesDenys Vlasenko2024-12-101-13/+19
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: "orig_line" is redundant, remove itDenys Vlasenko2024-12-101-2/+1
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: allocate "printed" only if OPT_CHAR or OPT_BYTEDenys Vlasenko2024-12-101-3/+4
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: localize 'spos' variable, convert !NUMVAR to NUMVAR == 0Denys Vlasenko2024-12-101-5/+6
| | | | | | This imporves readability Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: simplify OPT_ names, eliminate one variableDenys Vlasenko2024-12-101-24/+27
| | | | Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: improve detection of invalid rangesRon Yorston2024-12-101-11/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 0068ce2fa (cut: add toybox-compatible options -O OUTSEP, -D, -F LIST) added detection of reversed ranges. Further improvements are possible. - The test for reversed ranges compared the start after it had been decremented with the end before decrement. It thus missed ranges of the form 2-1. - Zero isn't a valid start value for a range. (Nor is it a valid end value, but that's caught by the test for a reversed range.) - The code if (!*ltok) e = INT_MAX; duplicates a check that's already been made. - Display the actual range in the error message to make it easier to find which range was at fault. function old new delta .rodata 100273 100287 +14 cut_main 1239 1237 -2 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 1/1 up/down: 14/-2) Total: 12 bytes Signed-off-by: Ron Yorston <rmy@pobox.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* cut: fix "-s" flag to omit blank linesColin McAllister2024-12-101-5/+15
| | | | | | | | | | | | | | | | | | Using cut with the delimiter flag ("-d") with the "-s" flag to only output lines containing the delimiter will print blank lines. This is deviant behavior from cut provided by GNU Coreutils. Blank lines should be omitted if "-s" is used with "-d". This change introduces a somewhat naiive, yet efficient solution, where line length is checked before looping though bytes. If line length is zero and the "-s" flag is used, the code will jump to parsing the next line to avoid printing a newline character. function old new delta cut_main 1196 1185 -11 Signed-off-by: Colin McAllister <colinmca242@gmail.com> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* test: -x can return 0/1 early if all X bits are the sameDenys Vlasenko2024-10-071-10/+10
| | | | | | | function old new delta nexpr 702 725 +23 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: cache more of uid/gid syscallsDenys Vlasenko2024-10-071-4/+7
| | | | | | | | | | | | | | | | | | | Testcase: setuidgid 1:1 strace ash -c 'test -x TODO; test -x TODO; echo $?' should show that second "test -x" does not query ids again. function old new delta ash_main 1236 1256 +20 get_cached_euid - 19 +19 get_cached_egid - 19 +19 test_main 56 72 +16 test_exec 119 135 +16 is_in_supplementary_groups 52 57 +5 nexpr 718 702 -16 ------------------------------------------------------------------------------ (add/remove: 2/0 grow/shrink: 4/1 up/down: 95/-16) Total: 79 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* ash: make "test -x" use cached groupinfoDenys Vlasenko2024-10-071-4/+17
| | | | | | | | | | | function old new delta test_main2 - 407 +407 testcmd 10 23 +13 test_main 418 56 -362 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 1/1 up/down: 420/-362) Total: 58 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: simplify parameter passing in is_in_supplementary_groups()Denys Vlasenko2024-10-071-8/+18
| | | | | | | | | | | function old new delta is_in_supplementary_groups 54 52 -2 nexpr 721 718 -3 test_exec 125 119 -6 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-11) Total: -11 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* libbb: move is_in_supplementary_groups() from test to libbbDenys Vlasenko2024-10-071-19/+1
| | | | | | | | | | function old new delta is_in_supplementary_groups - 54 +54 nexpr 766 721 -45 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 54/-45) Total: 9 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
* test: Invert return value of test_eaccess and rename it to test_st_modeDenys Vlasenko2024-10-061-16/+11
| | | | | | | | | | | | | From dash: From: herbert <herbert@gondor.apana.org.au> Date: Wed, 2 Mar 2005 22:14:54 +1100 Invert return value of test_eaccess and rename it to test_st_mode. function old new delta nexpr 800 766 -34 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>