Denys Vlasenko
6e7c65fca0
bc: trim banner, use empty interactive prompts (GNU bc compat)
...
function old new delta
bc_vm_run 689 684 -5
bc_program_read 355 350 -5
bc_read_line 307 285 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-32) Total: -32 bytes
text data bss dec hex filename
985409 485 7296 993190 f27a6 busybox_old
985265 485 7296 993046 f2716 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-08 19:34:35 +01:00
Denys Vlasenko
d0bc5fdfea
dc: fix "small dc" to have standard command line API
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-08 18:59:07 +01:00
Denys Vlasenko
f522dd9420
bc: replace G.eof with a special exit code of bc_vm_stdin()
...
function old new delta
bc_read_line 305 307 +2
bc_vm_run 701 689 -12
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 2/-12) Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 16:35:43 +01:00
Denys Vlasenko
2d615fee38
bc: convert two macros to functions, unwing one complex max(a,min(b,c))
...
function old new delta
BC_NUM_AREQ - 45 +45
BC_NUM_MREQ - 33 +33
bc_num_rem 104 91 -13
bc_num_divmod 168 155 -13
bc_num_d 584 569 -15
bc_num_mul 80 62 -18
bc_num_mod 80 62 -18
bc_num_div 80 62 -18
bc_num_sub 112 77 -35
bc_num_add 112 77 -35
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/8 up/down: 78/-165) Total: -87 bytes
text data bss dec hex filename
985526 485 7296 993307 f281b busybox_old
985439 485 7296 993220 f27c4 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 16:22:45 +01:00
Denys Vlasenko
64074a1767
bc: do not perform domr limit checks when they can't work (e.g. on 32-bit arches)
...
Also, optimize printing of messages with fixed limit strings
by including limits as strings.
function old new delta
bc_num_ulong 103 95 -8
bc_lex_number 296 281 -15
dc_lex_token 701 684 -17
bc_lex_name 90 73 -17
bc_num_shift 72 54 -18
bc_lex_token 1299 1280 -19
bc_parse_stmt 1868 1768 -100
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/7 up/down: 0/-194) Total: -194 bytes
text data bss dec hex filename
985814 485 7296 993595 f293b busybox_old
985526 485 7296 993307 f281b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 15:50:14 +01:00
Denys Vlasenko
ffdcebdffe
bc: pull temporary into a register
...
function old new delta
bc_num_ulong 103 95 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 15:10:05 +01:00
Denys Vlasenko
18c6b54f82
bc: use more compact parsing data structures
...
function old new delta
dc_lex_token 697 701 +4
bc_parse_next_rel 20 - -20
bc_parse_next_read 20 - -20
bc_parse_next_print 20 - -20
bc_parse_next_param 20 - -20
bc_parse_next_for 20 - -20
bc_parse_next_expr 20 - -20
bc_parse_next_elem 20 - -20
common_parse_expr 62 40 -22
bc_parse_expr 49 24 -25
dc_lex_regs 52 13 -39
bc_parse_name 581 539 -42
bc_parse_expr_empty_ok 2157 2108 -49
dc_parse_insts 332 83 -249
dc_lex_tokens 364 91 -273
bc_parse_stmt 2261 1868 -393
------------------------------------------------------------------------------
(add/remove: 0/7 grow/shrink: 1/8 up/down: 4/-1232) Total: -1228 bytes
text data bss dec hex filename
987037 485 7296 994818 f2e02 busybox_old
985814 485 7296 993595 f293b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 12:57:32 +01:00
Denys Vlasenko
b9c321d6d9
bc: use only G_interrupt as interrupt flag
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-07 12:41:42 +01:00
Denys Vlasenko
c7a7ce06b8
bc: fix exit codes for FEATURE_CLEAN_UP=y
...
$ echo 0/0 | ./busybox bc; echo $?
bc: divide by zero
1
$ echo halt | ./busybox bc; echo $?
0 <------- was 1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 23:06:57 +01:00
Denys Vlasenko
a133137174
dc: fix testsuite
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 18:46:42 +01:00
Denys Vlasenko
6d0be10aae
bc: correctly parse dc options
...
function old new delta
bc_vm_init - 821 +821
bc_vm_file - 226 +226
dc_main 41 187 +146
bc_main 41 73 +32
packed_usage 33076 33059 -17
bc_vm_run 1903 701 -1202
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 2/2 up/down: 1225/-1219) Total: 6 bytes
text data bss dec hex filename
987046 485 7296 994827 f2e0b busybox_old
987037 485 7296 994818 f2e02 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 18:41:59 +01:00
Denys Vlasenko
4c9455f967
dc: fix "dc does_not_exist" SEGVing
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 15:21:39 +01:00
Denys Vlasenko
b23ac51d0c
bc: code shrink - convert two macros to functions
...
function old new delta
bc_program_printStream - 185 +185
bc_program_pushArray - 147 +147
bc_program_exec 4132 4219 +87
bc_vec_pop - 27 +27
bc_vec_top - 13 +13
bc_num_ulong 92 103 +11
bc_vm_run 1905 1903 -2
bc_vm_process 94 92 -2
bc_program_reset 72 70 -2
bc_program_prep 93 91 -2
bc_program_call 366 364 -2
bc_parse_startBody 47 45 -2
bc_parse_parse 464 462 -2
bc_parse_else 137 135 -2
bc_parse_body 118 116 -2
bc_program_num 1129 1125 -4
bc_parse_text 147 143 -4
bc_program_retire 40 35 -5
bc_program_print 778 773 -5
bc_program_modexp 746 741 -5
bc_program_pushVar 215 208 -7
bc_program_copyToVar 323 316 -7
bc_parse_operator 184 177 -7
bc_parse_noElse 65 56 -9
bc_program_binOpRetire 56 46 -10
bc_parse_stmt 2271 2261 -10
bc_program_execStr 543 528 -15
bc_program_assignStr 161 146 -15
bc_parse_expr_empty_ok 2178 2157 -21
bc_parse_endBody 420 375 -45
bc_program_asciify 464 - -464
------------------------------------------------------------------------------
(add/remove: 4/1 grow/shrink: 2/24 up/down: 470/-651) Total: -181 bytes
text data bss dec hex filename
987227 485 7296 995008 f2ec0 busybox_old
987046 485 7296 994827 f2e0b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 13:10:56 +01:00
Denys Vlasenko
d00d2f9603
bc: make keyword POSIXness check more readable
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:59:40 +01:00
Denys Vlasenko
b6f60863cb
bc: move a function to reduce forward declarations
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:54:26 +01:00
Denys Vlasenko
e55a572600
bc: small simplification in dc_lex_token()
...
Pulling array element into a temporary, taking address of this temporary
and copying it? That's much unnecessary work.
function old new delta
dc_lex_token 701 697 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:47:17 +01:00
Denys Vlasenko
2fa11b6d35
bc: add comment about BC_NUM_DEF_SIZE
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:34:39 +01:00
Denys Vlasenko
1ff8862149
bc: fix for prev commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:06:16 +01:00
Denys Vlasenko
4c30406df6
bc: do not needlessly use strcat
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 12:01:17 +01:00
Denys Vlasenko
23c2e9fcf9
bc: unbreak "BC only" and "DC only" configs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 11:43:17 +01:00
Denys Vlasenko
9ca9ef2d5b
dc: re-enable "tiny dc" implementation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 11:31:14 +01:00
Denys Vlasenko
a6f84e1a35
bc: reuse common string
...
text data bss dec hex filename
987232 485 7296 995013 f2ec5 busybox_old
987205 485 7296 994986 f2eaa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 11:10:11 +01:00
Denys Vlasenko
95f93bdc28
bc: hook up line editing with history buffer
...
function old new delta
push_input_byte - 65 +65
bc_vm_run 1875 1905 +30
bc_read_line 303 305 +2
bc_num_binary 148 150 +2
bc_num_ulong 103 92 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 99/-11) Total: 88 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 10:29:12 +01:00
Denys Vlasenko
ed849351d1
bc: add preparatory indent block, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 10:26:13 +01:00
Denys Vlasenko
1a6a482d19
bc: if ^C handling is not selected, there is no interactive mode
...
function old new delta
packed_usage 33023 33076 +53
bc_num_s 252 246 -6
bc_vm_run 1859 1850 -9
bc_error_fmt 36 20 -16
bc_posix_error_fmt 58 41 -17
bc_read_line 202 168 -34
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 53/-82) Total: -29 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 09:20:32 +01:00
Denys Vlasenko
54214c38db
bc: fix "bc -v" printing version info twice, and not exiting
...
function old new delta
bc_args 123 130 +7
bc_num_binary 150 148 -2
static.nullptr 4 - -4
bc_vm_run 1883 1874 -9
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/2 up/down: 7/-15) Total: -8 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 09:07:06 +01:00
Denys Vlasenko
1ff1c70944
bc: make bc_vm_envArgs() NULL-terminate its argv, simplify bc_vm_envLen()
...
function old new delta
bc_num_ulong 92 103 +11
static.nullptr - 4 +4
bc_args 120 123 +3
static.bc_args_env_name 4 - -4
dc_main 49 41 -8
bc_main 49 41 -8
bc_vm_run 1917 1883 -34
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 2/3 up/down: 18/-54) Total: -36 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 00:54:12 +01:00
Denys Vlasenko
e873ff9660
bc: if FEATURE_CLEAN_UP, clean up allocations on exits
...
Will have exitcode 1 even on "quit" and "halt", is it a problem?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-06 00:29:22 +01:00
Denys Vlasenko
050b0fe9a7
bc: do not allow "()" as a valid expression
...
function old new delta
bc_parse_expr_empty_ok - 2178 +2178
bc_parse_expr 2178 49 -2129
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 2178/-2129) Total: 49 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 22:40:44 +01:00
Denys Vlasenko
cca79a0064
bc: reorder functions, delete forward declarations, no code changes - part 2
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 21:15:46 +01:00
Denys Vlasenko
b0e3761410
bc: reorder functions, delete forward declarations, no code changes
...
Pure block moves of text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 21:03:16 +01:00
Denys Vlasenko
aad652a69a
bc: remove unused strings
...
text data bss dec hex filename
987088 485 7296 994869 f2e35 busybox_old
987079 485 7296 994860 f2e2c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 20:33:23 +01:00
Denys Vlasenko
452df923f7
bc: trivial simplification in bc_parse_return()
...
function old new delta
bc_parse_stmt 2276 2271 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 20:28:26 +01:00
Denys Vlasenko
657d6bb262
bc: fix "warning: 's' may be used uninitialized in this function"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 20:25:03 +01:00
Denys Vlasenko
bcb62a7f11
bc: code shrink
...
function old new delta
bc_parse_expr 2151 2178 +27
bc_parse_exprs 60 - -60
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 2/0 up/down: 27/-60) Total: -33 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 20:17:48 +01:00
Denys Vlasenko
6543758b13
bc: code shrink
...
function old new delta
bc_parse_operator 181 184 +3
bc_parse_ops 50 25 -25
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 3/-25) Total: -22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 19:37:19 +01:00
Denys Vlasenko
f381a88234
bc: make division operation interruptible
...
function old new delta
bc_num_d 564 584 +20
bc_num_r 230 245 +15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 35/0) Total: 35 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 19:21:34 +01:00
Denys Vlasenko
b3cb90124b
bc: use unsigned division by 10 instead of signed
...
function old new delta
bc_num_k 990 988 -2
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 19:05:32 +01:00
Denys Vlasenko
06fa65bd95
bc: move ^C check fro power calculation to multiplication
...
function old new delta
bc_num_k 971 990 +19
bc_num_p 507 478 -29
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 19/-29) Total: -10 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 19:00:58 +01:00
Denys Vlasenko
b692c2faf1
bc: bc_num_k(): move carry,i,j,len to inner scope
...
This might help compiler
function old new delta
bc_num_k 957 971 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 18:56:14 +01:00
Denys Vlasenko
0d7e46b1de
bc: tweak error messages
...
function old new delta
bc_lex_token 1285 1299 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 18:31:19 +01:00
Denys Vlasenko
0064679915
bc: fix inverted POSIXness test, improve messages, commonalize message strings
...
function old new delta
bc_lex_token 1251 1285 +34
bc_POSIX_does_not_allow_bool_ops_this_is_bad - 25 +25
bc_POSIX_does_not_allow_empty_X_expression_in_for - 20 +20
bc_POSIX_does_not_allow - 20 +20
bc_parse_expr 2146 2151 +5
bc_num_ulong 103 92 -11
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 2/1 up/down: 104/-11) Total: 93 bytes
text data bss dec hex filename
987210 485 7296 994991 f2eaf busybox_old
987084 485 7296 994865 f2e31 busybox_unstripped
^^^^^^^
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 18:12:27 +01:00
Denys Vlasenko
5318f81fbe
bc: print error line numbers
...
FILE:
print 1
print "
$ busybox bc -q FILE
bc: FILE:2: string end could not be found
ready for more input
>>> _
function old new delta
bc_verror_msg - 99 +99
bc_lex_file 12 28 +16
bc_lex_next 77 92 +15
dc_lex_token 687 701 +14
bc_lex_token 1237 1251 +14
bc_posix_error_fmt 90 58 -32
bc_error_fmt 70 36 -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/2 up/down: 158/-66) Total: 92 bytes
text data bss dec hex filename
987108 485 7296 994889 f2e49 busybox_old
987210 485 7296 994991 f2eaf busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 17:48:01 +01:00
Denys Vlasenko
08c033c406
bc: optimize pushing zero bytes to vectors
...
function old new delta
bc_vec_pushZeroByte - 10 +10
bc_vm_run 1919 1917 -2
bc_vec_string 61 59 -2
bc_vec_concat 68 66 -2
bc_parse_create 170 168 -2
bc_lex_number 298 296 -2
dc_lex_token 691 687 -4
bc_read_line 314 303 -11
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/7 up/down: 10/-25) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 16:55:08 +01:00
Denys Vlasenko
0409ad36a1
bc: restore printing of script name on errors
...
Examples:
On stdin, no file name is available:
$ echo 'print "' | busybox bc
bc: string end could not be found
When the same error is in file:
$ busybox bc FILE
bc 1.30.0.git
Copyright (c) 2018 Gavin D. Howard and contributors
Report bugs at: https://github.com/gavinhoward/bc
This is free software with ABSOLUTELY NO WARRANTY
FILE: string end could not be found
ready for more input
>>>
Line number printing to be added later...
function old new delta
bc_error_fmt 38 70 +32
bc_posix_error_fmt 60 90 +30
bc_vm_run 1900 1919 +19
bc_program_read 338 355 +17
bc_lex_file 15 12 -3
bc_program_stdin_name 8 - -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/1 up/down: 98/-11) Total: 87 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 16:39:22 +01:00
Denys Vlasenko
0ad36c46c7
bc: do not check for errors when parsing/running internal library
...
function old new delta
bc_lib_name 4 - -4
bc_vm_run 1921 1900 -21
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-25) Total: -25 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 16:21:43 +01:00
Denys Vlasenko
24fb2cd62f
bc: shrink error handling code by enabling tail-call optimization
...
function old new delta
bc_posix_error_fmt - 60 +60
bc_error_fmt - 38 +38
bc_error_bad_character - 17 +17
bc_parse_auto 302 313 +11
bc_num_ulong 93 103 +10
bc_error_variable_is_wrong_type - 10 +10
bc_error_stack_has_too_few_elements - 10 +10
bc_error_nested_read_call - 10 +10
bc_error_bad_token - 10 +10
bc_error_bad_expression - 10 +10
bc_num_d 561 564 +3
bc_program_assign 484 486 +2
dc_parse_parse 60 59 -1
bc_program_num 1130 1129 -1
bc_program_call 367 366 -1
bc_parse_stmt 2277 2276 -1
bc_lex_number 299 298 -1
bc_lex_name 91 90 -1
bc_func_insert 98 97 -1
bc_num_shift 74 72 -2
bc_vm_run 1924 1921 -3
bc_parse_endBody 424 420 -4
bc_lex_next 81 77 -4
bc_program_read 343 338 -5
bc_program_asciify 469 464 -5
bc_program_pushVar 221 215 -6
bc_program_print 784 778 -6
bc_program_prep 99 93 -6
bc_program_assignStr 167 161 -6
bc_parse_else 143 137 -6
bc_parse_body 124 118 -6
dc_parse_register 61 53 -8
dc_lex_token 699 691 -8
bc_program_modexp 756 746 -10
bc_parse_name 593 581 -12
dc_parse_expr 775 762 -13
bc_program_copyToVar 336 323 -13
bc_program_binOpPrep 324 311 -13
bc_program_execStr 561 543 -18
bc_program_exec 4150 4132 -18
bc_parse_parse 483 464 -19
bc_error 38 14 -24
bc_lex_token 1266 1237 -29
bc_posix_error 60 14 -46
bc_parse_expr 2194 2146 -48
------------------------------------------------------------------------------
(add/remove: 8/0 grow/shrink: 4/33 up/down: 191/-345) Total: -154 bytes
text data bss dec hex filename
987226 485 7296 995007 f2ebf busybox_old
987072 485 7296 994853 f2e25 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 16:03:46 +01:00
Denys Vlasenko
f359e004b0
bc: make 2^1000000 interruptible faster
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
68cc0a676e
bc: remove tabs from internal library
...
function old new delta
bc_lib 1877 1674 -203
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
51fb8aa5c1
bc: store library in ASCII, shrink keyword parsing code
...
Also, use ARRAY_SIZE() where appropriate
function old new delta
bc_lib 1878 1877 -1
bc_program_index 66 64 -2
bc_lex_token 1282 1266 -16
bc_lex_kws 220 160 -60
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-79) Total: -79 bytes
text data bss dec hex filename
987518 485 7296 995299 f2fe3 busybox_old
987440 485 7296 995221 f2f95 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
cb9a99f3bb
bc: drop bc_map_init() macro
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
7d62801db9
bc: create a few common functions
...
function old new delta
bc_char_vec_init - 12 +12
bc_vec_pop_all - 8 +8
bc_program_index 64 66 +2
bc_vec_string 64 61 -3
bc_vec_free 27 24 -3
bc_read_line 317 314 -3
bc_program_execStr 564 561 -3
bc_program_exec 4153 4150 -3
bc_program_copyToVar 340 336 -4
bc_parse_create 175 170 -5
dc_lex_token 705 699 -6
bc_program_reset 78 72 -6
bc_lex_number 305 299 -6
bc_program_read 353 343 -10
bc_program_addFunc 225 209 -16
bc_vm_run 1942 1924 -18
bc_parse_reset 181 163 -18
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/14 up/down: 22/-104) Total: -82 bytes
text data bss dec hex filename
987600 485 7296 995381 f3035 busybox_old
987518 485 7296 995299 f2fe3 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
d5f7703abb
bc: rewrite "BOOL * EXPR" idiom as if() statement
...
function old new delta
bc_program_index 66 64 -2
bc_program_num 1147 1130 -17
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-19) Total: -19 bytes
text data bss dec hex filename
987619 485 7296 995400 f3048 busybox_old
987600 485 7296 995381 f3035 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
17c5472c5a
bc: switch to SA_RESTART signal handling
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
d70d4a0235
bc: get rid of G.tty and G.flags
...
G.flags == option_mask32
function old new delta
bc_args 97 120 +23
dc_main 48 49 +1
bc_main 48 49 +1
bc_error 42 38 -4
bc_posix_error 65 60 -5
bc_read_line 325 317 -8
dc_lex_token 714 705 -9
bc_vm_run 2039 1942 -97
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/5 up/down: 25/-123) Total: -98 bytes
text data bss dec hex filename
987717 485 7296 995498 f30aa busybox_old
987619 485 7296 995400 f3048 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
9b70f197b4
bc: convert all status codes, remove bc_err_msgs[], bc_vm_error(), bc_vm_posixError()
...
function old new delta
bc_posix_error - 65 +65
bc_vm_run 1995 2039 +44
bc_err_line 7 - -7
bc_num_ulong 103 93 -10
bc_parse_parse 495 483 -12
bc_err_fmt 12 - -12
bc_warn_fmt 14 - -14
bc_parse_expr 2210 2194 -16
bc_program_reset 105 78 -27
bc_vm_process 130 94 -36
bc_parse_stmt 2313 2277 -36
bc_err_msgs 60 - -60
bc_lex_token 1367 1282 -85
bc_vm_error 143 - -143
bc_vm_posixError 189 - -189
------------------------------------------------------------------------------
(add/remove: 1/6 grow/shrink: 1/7 up/down: 109/-647) Total: -538 bytes
text data bss dec hex filename
988258 485 7296 996039 f32c7 busybox_old
987717 485 7296 995498 f30aa busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
60cf747b6c
bc: convert all non-POSIX BC_STATUS_foo codes
...
function old new delta
bc_program_asciify - 469 +469
bc_parse_parse 432 495 +63
dc_parse_expr 727 775 +48
bc_vm_run 1955 1995 +40
bc_program_num 1115 1147 +32
bc_program_binOpPrep 296 324 +28
static.msg - 24 +24
bc_parse_name 570 593 +23
bc_lex_token 1344 1367 +23
dc_lex_token 695 714 +19
bc_num_ulong 85 103 +18
bc_program_read 336 353 +17
dc_parse_parse 47 60 +13
bc_parse_stmt 2301 2313 +12
bc_parse_auto 291 302 +11
bc_program_prep 89 99 +10
bc_lex_next 71 81 +10
dc_parse_register 52 61 +9
bc_program_print 775 784 +9
bc_func_insert 89 98 +9
bc_program_assignStr 159 167 +8
bc_program_assign 476 484 +8
bc_parse_body 116 124 +8
bc_lex_name 83 91 +8
bc_program_pushVar 215 221 +6
bc_parse_text 141 147 +6
bc_num_shift 68 74 +6
bc_num_p 472 478 +6
bc_program_execStr 559 564 +5
bc_parse_else 139 143 +4
bc_lex_number 301 305 +4
bc_num_d 558 561 +3
bc_parse_endBody 422 424 +2
bc_num_r 231 230 -1
bc_program_copyToVar 343 340 -3
bc_program_call 372 367 -5
bc_parse_expr 2215 2210 -5
bc_program_modexp 763 756 -7
bc_err_msgs 164 60 -104
bc_program_pushArray 136 - -136
bc_program_exec 4453 4153 -300
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 31/7 up/down: 961/-561) Total: 400 bytes
text data bss dec hex filename
987766 485 7296 995547 f30db busybox_old
988258 485 7296 996039 f32c7 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
d38af48e0a
bc: convert BC_STATUS_EXEC_SIGNAL - its message string was never used
...
function old new delta
bc_vm_process 132 130 -2
bc_err_msgs 168 164 -4
dc_parse_parse 52 47 -5
bc_parse_reset 187 181 -6
bc_program_ready_msg 22 - -22
bc_program_exec 4478 4453 -25
bc_parse_parse 461 432 -29
bc_program_reset 159 105 -54
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/7 up/down: 0/-147) Total: -147 bytes
text data bss dec hex filename
987923 485 7296 995704 f3178 busybox_old
987766 485 7296 995547 f30db busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
abbc433d29
bc: convert BC_STATUS_PARSE_NO_AUTO
...
function old new delta
bc_parse_auto 275 291 +16
bc_err_msgs 172 168 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 16/-4) Total: 12 bytes
text data bss dec hex filename
987911 485 7296 995692 f316c busybox_old
987923 485 7296 995704 f3178 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
04a1c763a6
bc: convert BC_STATUS_EXEC_MISMATCHED_PARAMS and BC_STATUS_EXEC_UNDEFINED_FUNC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
a02f84472a
bc: BC_STATUS_VEC_ITEM_EXISTS is not a real error code, its message was never used
...
It was only used to indicate rusult of bc_map_insert() - did we insert, or
did we find that this key is already in the map?
function old new delta
bc_map_insert 142 145 +3
bc_program_addFunc 226 225 -1
bc_err_msgs 184 180 -4
bc_program_search 152 143 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 3/-14) Total: -11 bytes
text data bss dec hex filename
987904 485 7296 995685 f3165 busybox_old
987873 485 7296 995654 f3146 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
bc5ce66617
bc: simplify bc_lex_comment()
...
function old new delta
bc_lex_token 1369 1344 -25
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
c1c2470f84
bc: handle BIN_FILE and LEX_BAD_CHAR errors at the site of detection
...
The most informative message can be generated at the location
where error is detected. The "error codes" are stupid:
print error meesage immediately, then just return "there was an error"
indicator.
All error codes will be converted. For now, converting these two.
For now, this and following changes will degrade error messages
quality. For example, file name and line number printouts may be lost.
This will be re-added later.
This change anlso fixes handling of invalid stdin input:
this used to cause interactive bc to exit:
....
>>> ς
bc: illegal character 0xcf
bc: illegal character 0x82
>>> _
function old new delta
bc_error - 42 +42
bc_lex_token 1333 1369 +36
dc_lex_token 675 695 +20
bc_read_line 311 325 +14
bc_num_a 456 454 -2
bc_err_msgs 188 184 -4
bc_num_ulong 95 85 -10
bc_vm_run 1984 1955 -29
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/4 up/down: 112/-45) Total: 67 bytes
text data bss dec hex filename
987828 485 7296 995609 f3119 busybox_old
987929 485 7296 995710 f317e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
d4744adf35
bc: eliminate BC_STATUS_INPUT_EOF
...
function old new delta
fflush_and_check - 36 +36
bc_num_a 445 456 +11
bc_num_ulong 85 95 +10
bc_vm_run 1978 1984 +6
bc_num_s 246 252 +6
bc_err_msgs 192 188 -4
quit 38 32 -6
bc_vm_process 139 132 -7
bc_program_reset 172 159 -13
bc_parse_create 192 175 -17
bc_read_line 349 311 -38
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/6 up/down: 69/-85) Total: -16 bytes
text data bss dec hex filename
987844 485 7296 995625 f3129 busybox_old
987828 485 7296 995609 f3119 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
cfdc1334c3
bc: handle "limits" and "quit" immediately at parse time
...
No need to propagate a special exit code.
function old new delta
bc_parse_stmt 2197 2301 +104
quit - 38 +38
bc_read_line 344 349 +5
bc_program_reset 174 172 -2
bc_num_s 252 246 -6
bc_num_a 454 445 -9
bc_parse_parse 471 461 -10
bc_num_ulong 95 85 -10
bc_program_exec 4500 4478 -22
bc_vm_run 2006 1978 -28
bc_vm_process 291 139 -152
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/8 up/down: 147/-239) Total: -92 bytes
text data bss dec hex filename
987936 485 7296 995717 f3185 busybox_old
987844 485 7296 995625 f3129 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
01cabafd05
bc": drop unused error codes and strings
...
function old new delta
bc_err_msgs 216 192 -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-24) Total: -24 bytes
text data bss dec hex filename
988122 485 7296 995903 f323f busybox_old
987936 485 7296 995717 f3185 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
b8860a8892
bc: remove "error ids": serve no useful purpose, error message should be explanatory enough
...
function old new delta
bc_warn_fmt 17 14 -3
bc_err_fmt 15 12 -3
bc_vm_posixError 205 189 -16
bc_vm_error 156 138 -18
bc_errs 28 - -28
bc_err_ids 58 - -58
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/4 up/down: 0/-126) Total: -126 bytes
text data bss dec hex filename
988288 485 7296 996069 f32e5 busybox_old
988122 485 7296 995903 f323f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
1f67e935ac
bc: reduce forward declarations
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
d9d66556d7
bc: use smaller datatypes for limits, match GNU bc 'limits' output
...
function old new delta
bc_vm_process 315 291 -24
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-24) Total: -24 bytes
text data bss dec hex filename
988303 485 7296 996084 f32f4 busybox_old
988273 485 7296 996054 f32d6 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
416ce76bcd
bc: better handle optional args of bc_program_pushVar()
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
9721f6c8b0
bc: tweak help text
...
-v is supported but not shown
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
a0c421c118
bc: simplify bc_vm_stdin()
...
function old new delta
bc_vm_run 2020 2006 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
71e1fc6b37
bc: only check for ^C in bc_program_exec() main loop
...
Checking it in individual operations such as SQRT is not necessary
since they usually do not take very long to complete. We repeatedly return
to main loop.
TODO: re-add more fine-grained ^C checks - but only with examples where it is
actually needed. E.g. I suspect simplest ops like addition or compare won't need it.
function old new delta
bc_program_index 66 64 -2
bc_num_s 258 246 -12
bc_num_cmp 294 275 -19
bc_num_compare 84 59 -25
bc_num_subArrays 74 47 -27
bc_num_a 474 445 -29
bc_program_exec 4530 4500 -30
bc_num_p 518 472 -46
bc_num_d 604 558 -46
bc_num_k 1005 957 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/10 up/down: 0/-284) Total: -284 bytes
text data bss dec hex filename
988601 485 7296 996382 f341e busybox_old
988317 485 7296 996098 f3302 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
df51539ed0
bc: simpler calling convention for bc_read_file(), bc_program_search()
...
function old new delta
bc_vm_run 1854 2020 +166
bc_program_assign 482 476 -6
bc_program_pushVar 225 215 -10
bc_program_call 366 356 -10
bc_program_num 1126 1115 -11
bc_program_copyToVar 354 343 -11
bc_program_search 164 152 -12
bc_program_execStr 573 559 -14
bc_program_exec 4544 4530 -14
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 166/-88) Total: 78 bytes
text data bss dec hex filename
988523 485 7296 996304 f33d0 busybox_old
988601 485 7296 996382 f341e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
e3b4f23cf3
bc: bc_num_ulong2num(), bc_program_pushGlobal(), bc_program_stackLen() never fail
...
function old new delta
bc_num_ulong2num 66 62 -4
bc_num_printNum 572 563 -9
bc_program_exec 4562 4544 -18
bc_program_num 1147 1126 -21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/4 up/down: 0/-52) Total: -52 bytes
text data bss dec hex filename
988575 485 7296 996356 f3404 busybox_old
988523 485 7296 996304 f33d0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
a1d3ca2455
bc: stop passing around pointers to G.prog, they are all constant
...
function old new delta
bc_program_exec 4523 4562 +39
bc_program_assign 450 482 +32
bc_program_assignStr 131 159 +28
bc_program_print 762 775 +13
bc_program_num 1134 1147 +13
bc_program_search 154 164 +10
bc_num_ulong 85 95 +10
dc_parse_expr 719 727 +8
bc_program_retire 34 40 +6
bc_program_reset 168 174 +6
bc_program_binOpRetire 50 56 +6
bc_program_addFunc 220 226 +6
bc_program_prep 88 89 +1
dc_parse_init 18 17 -1
bc_program_copyToVar 355 354 -1
bc_parse_text 142 141 -1
bc_parse_number 88 87 -1
bc_parse_init 18 17 -1
bc_parse_endBody 423 422 -1
common_parse_init 29 26 -3
bc_parse_string 103 100 -3
bc_parse_addFunc 44 41 -3
bc_program_call 371 366 -5
bc_program_binOpPrep 301 296 -5
bc_program_read 342 336 -6
bc_parse_create 198 192 -6
bc_program_pushArray 143 136 -7
bc_parse_reset 194 187 -7
bc_vm_process 323 315 -8
bc_program_pushVar 236 225 -11
bc_vm_run 1872 1854 -18
bc_parse_name 590 570 -20
bc_program_execStr 594 573 -21
bc_program_modexp 793 763 -30
bc_program_printStream 172 - -172
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 13/21 up/down: 178/-331) Total: -153 bytes
text data bss dec hex filename
988728 485 7296 996509 f349d busybox_old
988575 485 7296 996356 f3404 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
f6c1da5ff3
bc: select parse_init() and parse_expr() using IS_BC, not function pointers
...
function old new delta
common_parse_expr - 62 +62
common_parse_init - 29 +29
dc_parse_parse 53 52 -1
dc_parse_expr 723 719 -4
bc_program_execStr 606 594 -12
dc_parse_init 33 18 -15
bc_parse_init 33 18 -15
bc_parse_expression 39 - -39
bc_vm_run 1923 1872 -51
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/6 up/down: 91/-137) Total: -46 bytes
text data bss dec hex filename
988774 485 7296 996555 f34cb busybox_old
988728 485 7296 996509 f349d busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
785e4b3057
bc: propagate fixed arguments into callees
...
Looks like there is only one "BcProgram" object, &G.prog.
function old new delta
bc_program_exec 4401 4523 +122
bc_program_execStr 579 606 +27
bc_program_read 323 342 +19
bc_args 83 97 +14
bc_vm_process 327 323 -4
bc_num_ulong 95 85 -10
dc_main 62 48 -14
bc_main 62 48 -14
bc_vm_run 2317 1923 -394
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/5 up/down: 182/-436) Total: -254 bytes
text data bss dec hex filename
989028 485 7296 996809 f35c9 busybox_old
988774 485 7296 996555 f34cb busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
ab3c568fd8
bc: simplify ^C handling
...
It's still buggy: if SIGINT would interrupt e.g. output write(),
the result would not be as intended:
>>> while ( 1 ) print 1
...
11111111111111111111111111111111111111111111111111111111111111111111\
11111111111111111111111111111111111111111111111111111111111111111111\
^Cready for more input
interrupt (type "quit" to exit)
>>> bc: output error
function old new delta
dc_parse_parse 58 53 -5
bc_parse_parse 476 471 -5
bc_num_d 609 604 -5
bc_num_cmp 299 294 -5
bc_num_compare 90 84 -6
bc_parse_expr 2222 2215 -7
bc_num_subArrays 82 74 -8
dc_main 72 62 -10
bc_main 72 62 -10
bc_program_exec 4413 4401 -12
bc_num_a 491 474 -17
bc_read_line 364 344 -20
bc_num_p 540 518 -22
bc_program_reset 192 168 -24
bc_num_k 1031 1005 -26
bc_vm_run 2382 2317 -65
bc_vm_sig 97 - -97
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/16 up/down: 0/-344) Total: -344 bytes
text data bss dec hex filename
989372 485 7296 997153 f3721 busybox_old
989028 485 7296 996809 f35c9 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
6d9146ab56
bc: convert to "G trick" - this returns bc to zero bss increase
...
function old new delta
bc_num_p 518 540 +22
bc_num_k 1010 1031 +21
bc_vm_process 312 327 +15
bc_program_exec 4401 4413 +12
bc_vm_posixError 194 205 +11
bc_num_a 480 491 +11
bc_program_reset 182 192 +10
bc_vm_sig 88 97 +9
bc_vm_error 148 156 +8
bc_parse_expr 2215 2222 +7
bc_num_compare 84 90 +6
dc_parse_parse 53 58 +5
dc_lex_token 670 675 +5
bc_read_line 359 364 +5
bc_parse_parse 471 476 +5
bc_num_cmp 294 299 +5
bc_num_subArrays 84 82 -2
bc_num_d 614 609 -5
dc_main 80 72 -8
bc_main 80 72 -8
bcg 40 - -40
bc_vm_run 2569 2382 -187
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 16/5 up/down: 157/-250) Total: -93 bytes
text data bss dec hex filename
989425 485 7336 997246 f377e busybox_old
989372 485 7296 997153 f3721 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
5a9fef5b59
bc: simplify, and restore ^C, fix ^D handling
...
^D used to enter infinite loop
function old new delta
bc_read_line 342 359 +17
bc_args_opt 8 - -8
dc_sig_msg 31 - -31
bc_sig_msg 34 - -34
bc_vm_run 2608 2569 -39
bc_args 123 83 -40
bc_args_lopt 81 - -81
------------------------------------------------------------------------------
(add/remove: 0/4 grow/shrink: 1/2 up/down: 17/-233) Total: -216 bytes
text data bss dec hex filename
989491 485 7336 997312 f37c0 busybox_old
989425 485 7336 997246 f377e busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:43:35 +01:00
Denys Vlasenko
00d7779a35
bc: simplify, stop testing for IO errors on every output
...
function old new delta
bc_read_line 297 342 +45
bc_vm_run 2601 2608 +7
bc_program_reset 178 182 +4
bc_args 125 123 -2
dc_name 3 - -3
bc_name 3 - -3
bc_program_printStream 176 172 -4
bcg 48 40 -8
dc_main 97 80 -17
bc_main 97 80 -17
bc_vm_fflush 21 - -21
bc_vm_puts 23 - -23
bc_vm_printf 36 - -36
bc_vm_putchar 46 - -46
bc_vm_exit 46 - -46
bc_vm_process 361 312 -49
bc_vm_info 76 19 -57
bc_copyright 155 - -155
------------------------------------------------------------------------------
(add/remove: 0/8 grow/shrink: 3/7 up/down: 56/-487) Total: -431 bytes
text data bss dec hex filename
989722 485 7344 997551 f38af busybox_old
989491 485 7336 997312 f37c0 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:42:52 +01:00
Denys Vlasenko
ef869ec728
bc: fix warnings, initial cleanups
...
function old new delta
bc_program_exec - 4401 +4401
bc_vm_run - 2601 +2601
bc_parse_expr - 2215 +2215
bc_parse_stmt - 2197 +2197
bc_lib - 1878 +1878
bc_lex_token - 1333 +1333
bc_program_num - 1134 +1134
bc_num_k - 1010 +1010
bc_program_modexp - 793 +793
bc_program_print - 762 +762
dc_parse_expr - 723 +723
dc_lex_token - 670 +670
bc_num_d - 614 +614
bc_parse_name - 590 +590
bc_program_execStr - 579 +579
bc_num_printNum - 572 +572
bc_num_p - 518 +518
bc_num_a - 480 +480
bc_parse_parse - 471 +471
bc_program_assign - 450 +450
bc_parse_endBody - 423 +423
bc_program_call - 371 +371
dc_lex_tokens - 364 +364
bc_vm_process - 361 +361
bc_program_copyToVar - 355 +355
dc_parse_insts - 332 +332
bc_program_read - 323 +323
bc_program_binOpPrep - 301 +301
bc_lex_number - 301 +301
bc_read_line - 297 +297
bc_num_cmp - 294 +294
bc_num_m - 287 +287
bc_parse_auto - 275 +275
bc_num_s - 258 +258
bc_program_pushVar - 236 +236
bc_num_r - 231 +231
bc_program_addFunc - 220 +220
bc_lex_kws - 220 +220
bc_err_msgs - 216 +216
bc_parse_create - 198 +198
bc_vm_posixError - 194 +194
bc_parse_reset - 194 +194
bc_parse_operator - 181 +181
bc_program_reset - 178 +178
bc_program_printStream - 176 +176
bc_num_divmod - 168 +168
bc_copyright - 155 +155
bc_program_search - 154 +154
bc_num_binary - 150 +150
bc_vm_error - 148 +148
bc_program_pushArray - 143 +143
bc_parse_text - 142 +142
bc_num_printDigits - 142 +142
bc_map_insert - 142 +142
bc_parse_else - 139 +139
bc_program_assignStr - 131 +131
bc_args - 125 +125
dc_parse_mem - 116 +116
bc_parse_body - 116 +116
bc_num_split - 113 +113
bc_num_sub - 112 +112
bc_num_add - 112 +112
packed_usage 32958 33066 +108
bc_num_rem - 104 +104
bc_parse_string - 103 +103
bc_main - 97 +97
bc_num_ulong - 95 +95
bc_func_insert - 89 +89
bc_vm_sig - 88 +88
bc_program_prep - 88 +88
bc_parse_number - 88 +88
bc_array_expand - 88 +88
bc_num_subArrays - 84 +84
bc_num_compare - 84 +84
bc_lex_name - 83 +83
bc_args_lopt - 81 +81
bc_parse_pushIndex - 80 +80
bc_num_mul - 80 +80
bc_num_mod - 80 +80
bc_num_div - 80 +80
bc_vm_info - 76 +76
bc_program_name - 75 +75
bc_map_find - 71 +71
bc_lex_next - 71 +71
bc_num_printHex - 70 +70
bc_vec_concat - 68 +68
bc_num_shift - 68 +68
bc_num_extend - 68 +68
bc_program_index - 66 +66
bc_num_ulong2num - 66 +66
bc_num_retireMul - 66 +66
bc_parse_noElse - 65 +65
bc_vec_string - 64 +64
bc_parse_pushName - 63 +63
bc_parse_exprs - 60 +60
bc_err_ids - 58 +58
bc_result_free - 57 +57
bc_vec_npop - 55 +55
dc_parse_parse - 53 +53
bc_vec_push - 53 +53
bc_parse_free - 53 +53
bc_num_inv - 53 +53
dc_parse_register - 52 +52
dc_lex_regs - 52 +52
bc_lex_whitespace - 52 +52
bc_num_copy - 51 +51
bc_program_binOpRetire - 50 +50
bc_parse_ops - 50 +50
bc_map_index - 50 +50
bcg - 48 +48
bc_num_init - 48 +48
bc_parse_startBody - 47 +47
bc_num_pow - 47 +47
bc_vm_putchar - 46 +46
bc_vm_exit - 46 +46
bc_num_clean - 45 +45
bc_parse_addFunc - 44 +44
bc_vec_grow - 42 +42
bc_program_len - 42 +42
bc_num_truncate - 42 +42
bc_array_init - 42 +42
bc_parse_expression - 39 +39
bc_lex_lineComment - 39 +39
bc_num_expand - 38 +38
bc_vec_init - 37 +37
bc_vm_printf - 36 +36
bc_num_printNewline - 36 +36
bc_func_free - 35 +35
bc_sig_msg - 34 +34
bc_program_retire - 34 +34
bc_lex_assign - 34 +34
dc_parse_init - 33 +33
bc_parse_init - 33 +33
dc_sig_msg - 31 +31
bc_vec_expand - 30 +30
bc_num_ten - 30 +30
bc_num_one - 28 +28
bc_errs - 28 +28
bc_vec_free - 27 +27
bc_program_ops - 24 +24
bc_vm_puts - 23 +23
bc_num_printChar - 23 +23
bc_program_ready_msg - 22 +22
bc_vm_fflush - 21 +21
dc_main 77 97 +20
bc_parse_next_rel - 20 +20
bc_parse_next_read - 20 +20
bc_parse_next_print - 20 +20
bc_parse_next_param - 20 +20
bc_parse_next_for - 20 +20
bc_parse_next_expr - 20 +20
bc_parse_next_elem - 20 +20
bc_warn_fmt - 17 +17
bc_vec_pushByte - 15 +15
bc_string_free - 15 +15
bc_num_setToZero - 15 +15
bc_num_free - 15 +15
bc_lex_file - 15 +15
bc_id_free - 15 +15
bc_err_fmt - 15 +15
bc_vec_item_rev - 14 +14
bc_id_cmp - 12 +12
bc_num_zero - 11 +11
bc_vec_item - 9 +9
bc_program_stdin_name - 8 +8
bc_program_scale - 8 +8
bc_args_opt - 8 +8
bc_func_read - 7 +7
bc_func_main - 7 +7
bc_err_line - 7 +7
bc_lib_name - 4 +4
bc_args_env_name - 4 +4
applet_main 1604 1608 +4
dc_name - 3 +3
bc_name - 3 +3
applet_names 2781 2784 +3
static.bases 5 - -5
check_under 20 - -20
pop 24 - -24
print_no_pop 32 - -32
sub 34 - -34
divide 34 - -34
mul 37 - -37
add 37 - -37
push 38 - -38
print_stack_no_pop 40 - -40
not 72 - -72
set_output_base 95 - -95
or 103 - -103
eor 103 - -103
and 103 - -103
mod 105 - -105
stack_machine 116 - -116
operators 144 - -144
print_base 230 - -230
------------------------------------------------------------------------------
(add/remove: 173/20 grow/shrink: 4/0 up/down: 38089/-1372) Total: 36717 bytes
text data bss dec hex filename
950181 485 7296 957962 e9e0a busybox_old
989722 485 7344 997551 f38af busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:42:48 +01:00
Gavin Howard
01055ba89a
bc: new applet, throws warning
...
Signed-off-by: Gavin Howard <yzena.tech@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-12-05 15:40:38 +01:00
Ron Yorston
c339c7f7b3
libarchive: add a function to unpack embedded data
...
Similar code to unpack embedded data is used to decompress usage
messages, embedded scripts and the config file (in the non-default
bbconfig applet).
Moving this code to a common function reduces the size of the default
build and hides more of the internals of libarchive.
function old new delta
unpack_bz2_data - 135 +135
bb_show_usage 137 157 +20
get_script_content 32 47 +15
unpack_scripts 119 - -119
unpack_usage_messages 124 - -124
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 2/0 up/down: 170/-243) Total: -73 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-11-02 14:14:51 +01:00
Denys Vlasenko
ca2f831ead
hexedit: fixes for redraw and down movement causing SEGV on attempt to access
...
"Go to:" command was not updating row position, making next "down" movements
for one screenful print empty lines instead of showing the contents.
If the file is whole pages long, "down" movement at EOF was advancing position
+16 bytes, mapping the next portion (entirely past the end of the file),
then finding out that the new position is beyond the EOF, rolling it back
-16 bytes... ending up with this postion pointing *before* the mapped portion.
Any next access (e.g. "move right" key) SEGVs.
function old new delta
hexedit_main 1170 1184 +14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-07-23 14:26:55 +02:00
Kartik Agaram
43b17b1cd0
restore documentation on the build config language
...
Kconfig-language.txt was deleted in commit 4fa499a17b
back in 2006.
Move to docs/ as suggested by Xabier Oneca:
http://lists.busybox.net/pipermail/busybox/2014-May/080914.html
Also update references to it everywhere.
Signed-off-by: Kartik Agaram <akkartik@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-06-06 15:16:48 +02:00
Denys Vlasenko
058a153b69
less: fix fallout from "use common routine to set raw termios"
...
Testcase: (sleep 10; ls) | busybox less
[...]
~ LICENSE
~ Makefile
~ Makefile.custom
~ Makefile.flags
[...]
less did not want this part:
+ /* dont convert NL to CR+NL on output */
+ newterm->c_oflag &= ~(ONLCR);
function old new delta
get_termios_and_make_raw 108 115 +7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-16 10:24:48 +02:00
Denys Vlasenko
50aea2786b
less: remove unnecessary message
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-15 13:14:51 +02:00
Aaro Koskinen
36941503bd
less: implement -F
...
Implement -F option: Exit if entire file fits on first screen.
function old new delta
buffer_print 622 633 +11
less_main 2446 2449 +3
buffer_fill_and_print 169 172 +3
packed_usage 32258 32236 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 17/-22) Total: -5 bytes
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-15 13:13:34 +02:00
Denys Vlasenko
38ccd6af8a
bzip2: fix two crashes on corrupted archives
...
As it turns out, longjmp'ing into freed stack is not healthy...
function old new delta
unpack_usage_messages - 97 +97
unpack_bz2_stream 369 409 +40
get_next_block 1667 1677 +10
get_bits 156 155 -1
start_bunzip 212 183 -29
bb_show_usage 181 120 -61
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/3 up/down: 147/-91) Total: 56 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-08 20:05:04 +02:00
Denys Vlasenko
7bcde5f00d
libbb.h: always include sys/resource.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-08 17:23:27 +02:00
Denys Vlasenko
bae8fc4436
xargs: use bb_ask_y_confirmation_FILE() instead of homegrown copy
...
function old new delta
bb_ask_y_confirmation_FILE - 83 +83
inetd_main 2033 2043 +10
udhcp_send_kernel_packet 295 301 +6
rmescapes 306 310 +4
send_tree 353 355 +2
i2cdetect_main 674 672 -2
confirm_or_abort 43 38 -5
get_terminal_width_height 242 234 -8
bb_ask_y_confirmation 76 10 -66
xargs_main 823 755 -68
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/5 up/down: 105/-149) Total: -44 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-07 15:23:10 +02:00
Denys Vlasenko
77cb6b99a4
libbb: rename bb_ask -> bb_ask_noecho, bb_ask_confirmation -> bb_ask_y_confirmation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-04-07 15:08:12 +02:00
Peter Korsgaard
a82fe671f5
fbsplash: support configurable image position
...
For some setups (E.G. for supporting different screen resolutions),
positioning the image somewhere else than the top left corner may be
interesting.
Add support for IMG_LEFT/IMG_TOP settings to specify the image location,
similar to how it is done for the progress bar.
function old new delta
fbsplash_main 994 1038 +44
static.param_names 57 74 +17
packed_usage 32631 32647 +16
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 77/0) Total: 77 bytes
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-03-29 18:42:11 +02:00
Denys Vlasenko
0e0209ac53
less: accept -R option. Closes 10816
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-27 11:47:51 +01:00
Denys Vlasenko
ddacb03e87
libbb: commonalize a bit of little-endian CRC32 table generation code
...
function old new delta
global_crc32_new_table_le - 11 +11
crc32_new_table_le - 9 +9
inflate_unzip_internal 560 556 -4
flash_eraseall_main 823 819 -4
unpack_xz_stream 2403 2394 -9
lzop_main 121 112 -9
gzip_main 187 178 -9
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/5 up/down: 20/-35) Total: -15 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-02-01 10:56:19 +01:00
Denys Vlasenko
14bc965ea9
less: fix help text conditional for -R
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-24 16:47:08 +01:00
Denys Vlasenko
8528d3d4f8
less: optional support of -R
...
Based on patches by Lubomir Rintel <lkundrak@v3.sk>
function old new delta
read_lines 653 722 +69
less_main 2464 2531 +67
packed_usage 32202 32239 +37
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 173/0) Total: 173 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-22 14:38:51 +01:00
Denys Vlasenko
586f1ee7cf
nandwrite: cope with old headers which have no MTD_FILE_MODE_RAW
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 13:43:31 +01:00
Denys Vlasenko
38da4c4420
config: add size estimations for a few applets
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-14 12:03:33 +01:00
Denys Vlasenko
83c99ab446
less: code shrink
...
function old new delta
less_main 2471 2464 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2018-01-08 10:27:23 +01:00
Denys Vlasenko
d3a7e88008
time: fix build for toolchains without O_CLOEXEC
...
Based on patch by Eugene Rudoy <gene.devel@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-27 19:05:00 +02:00
Markus Gothe
045327a418
lsscsi: fix xchdir("..") from symlink in /sys/bus/scsi/devices
...
Signed-off-by: Markus Gothe <nietzsche@lysator.liu.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-22 10:43:43 +02:00
Denys Vlasenko
2ab9403119
whitespace and comment format fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05 15:33:28 +02:00
Denys Vlasenko
ebe6d9d875
whitespace and comment format fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05 14:40:24 +02:00
Avi Fishman
b5d9ba8fe6
i2cset: fix 'i' & 's' modes (3 extra bytes were sent)
...
When 'i' or 's' modes are selected block array is filled from offset 3
(blen = 3) but copied to data.block buffer from offset 0 so first 3 bytes
contains garbage from stack.
The buffer that is sent is also 3 bytes too long due to those extra 3
bytes.
Signed-off-by: Avi Fishman <AviFishman70@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-10-05 11:25:16 +02:00
Denys Vlasenko
0c4dbd481a
regularize format of source file headers, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-18 16:28:43 +02:00
Denys Vlasenko
aaaaaa5ad6
less,microcom,lineedit: use common routine to set raw termios
...
function old new delta
get_termios_and_make_raw - 139 +139
xget1 39 8 -31
read_line_input 3912 3867 -45
less_main 2525 2471 -54
set_termios_to_raw 116 36 -80
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/4 up/down: 139/-210) Total: -71 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-15 17:14:01 +02:00
Denys Vlasenko
e58b44755d
hexedit: code shrink
...
function old new delta
hexedit_main 1171 1170 -1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-15 15:23:47 +02:00
Denys Vlasenko
f3fa865258
hexedit: fixes to "goto address" code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-15 14:00:41 +02:00
Denys Vlasenko
9a4100cf53
hexedit: position in correct column on "goto" command
...
function old new delta
hexedit_main 1169 1202 +33
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 13:57:07 +02:00
Denys Vlasenko
44cb1666ef
hexedit: code shrink
...
function old new delta
hexedit_main 1176 1169 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 11:20:36 +02:00
Denys Vlasenko
8838c6d53e
hexdump: code shrink
...
function old new delta
remap 173 178 +5
move_mapping_lower 107 109 +2
move_mapping_further 141 143 +2
hexedit_main 1191 1176 -15
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 9/-15) Total: -6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 11:01:37 +02:00
Denys Vlasenko
d54f58d487
hexedit: implement "[enter] goto offset" key
...
This is a must if you need to edit sector 123456789999 on your /dev/disk.
text data bss dec hex filename
922745 481 6832 930058 e310a busybox_old
923023 481 6832 930336 e3220 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 10:51:12 +02:00
Denys Vlasenko
363fb5ec40
hexedit: restore screen on exit
...
function old new delta
hexedit_main 998 1082 +84
restore_term - 29 +29
remap 168 173 +5
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/0 up/down: 118/0) Total: 118 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 09:42:40 +02:00
Denys Vlasenko
d72e804e6d
hexedit: optimize output buffering
...
function old new delta
hexedit_main 970 998 +28
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-14 00:04:16 +02:00
Denys Vlasenko
62643017c3
hexedit: implement page up/down
...
function old new delta
hexedit_main 924 970 +46
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-13 23:02:51 +02:00
Denys Vlasenko
8187e01438
*: use ESC define instead of "\033"; use ESC[m instead of ESC[0m
...
text data bss dec hex filename
922535 481 6832 929848 e3038 busybox_old
922534 481 6832 929847 e3037 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-13 22:48:30 +02:00
Denys Vlasenko
136946c3ea
hexedit: smarter redraw
...
function old new delta
format_line 197 209 +12
hexedit_main 930 924 -6
redraw_cur_line 104 94 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 12/-16) Total: -4 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-13 21:38:55 +02:00
Denys Vlasenko
73af705628
hexedit: new applet
...
function old new delta
hexedit_main - 930 +930
format_line - 197 +197
remap - 168 +168
move_mapping_further - 141 +141
move_mapping_lower - 107 +107
redraw_cur_line - 104 +104
packed_usage 31802 31812 +10
applet_names 2688 2696 +8
applet_main 1552 1556 +4
applet_suid 97 98 +1
applet_install_loc 194 195 +1
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 5/0 up/down: 1671/0) Total: 1671 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-13 19:20:27 +02:00
Denys Vlasenko
b278ac0e60
setfattr: new applet
...
function old new delta
setfattr_main - 189 +189
packed_usage 31516 31588 +72
setxattr - 53 +53
lsetxattr - 53 +53
removexattr - 37 +37
lremovexattr - 37 +37
applet_names 2649 2658 +9
find_applet_by_name 124 128 +4
applet_main 1532 1536 +4
------------------------------------------------------------------------------
(add/remove: 7/0 grow/shrink: 4/0 up/down: 458/0) Total: 458 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-08 20:55:59 +02:00
Denys Vlasenko
9d858f5717
chat: do not die when HANGUP param is missing. Closes 10016
...
function old new delta
chat_main 1356 1379 +23
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-09-05 19:16:40 +02:00
Denys Vlasenko
f27e150fa6
i2c_tools: tweak --help text
...
function old new delta
packed_usage 31624 31615 -9
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-29 15:44:01 +02:00
Bartosz Golaszewski
0d1eaf407c
i2c-tools: don't include linux/i2c-dev.h
...
Installing headers from upstream i2c-tools makes it impossible to
build the busybox version due to redefined symbols. This is caused by
the fact that linux/i2c-dev.h from i2c-tools overwrites the one from
linux uapi and defines symbols already defined by linux' linux/i2c.h.
Drop this include and simply re-implement the relevant defines from
linux/i2c-dev.h in miscutils/i2c-tools.c.
Tested by building on systems with and without i2c-tools headers.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-29 12:31:22 +02:00
Bartosz Golaszewski
3a7b0fb7b6
i2c-tools: remove unneeded include
...
We no longer use common_bufsiz1 in i2c-tools.
Don't include common_bufsiz.h.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-28 15:35:26 +02:00
Denys Vlasenko
22542eca18
getopt32: remove opt_complementary
...
function old new delta
vgetopt32 1318 1392 +74
runsvdir_main 703 713 +10
bb_make_directory 423 425 +2
collect_cpu 546 545 -1
opt_chars 3 - -3
opt_complementary 4 - -4
tftpd_main 567 562 -5
ntp_init 476 471 -5
zcip_main 1266 1256 -10
xxd_main 428 418 -10
whois_main 140 130 -10
who_main 463 453 -10
which_main 212 202 -10
wget_main 2535 2525 -10
watchdog_main 291 281 -10
watch_main 222 212 -10
vlock_main 399 389 -10
uuencode_main 332 322 -10
uudecode_main 316 306 -10
unlink_main 45 35 -10
udhcpd_main 1482 1472 -10
udhcpc_main 2762 2752 -10
tune2fs_main 290 280 -10
tunctl_main 366 356 -10
truncate_main 218 208 -10
tr_main 518 508 -10
time_main 1134 1124 -10
tftp_main 286 276 -10
telnetd_main 1873 1863 -10
tcpudpsvd_main 1785 1775 -10
taskset_main 521 511 -10
tar_main 1009 999 -10
tail_main 1644 1634 -10
syslogd_main 1967 1957 -10
switch_root_main 368 358 -10
svlogd_main 1454 1444 -10
sv 1296 1286 -10
stat_main 104 94 -10
start_stop_daemon_main 1028 1018 -10
split_main 542 532 -10
sort_main 796 786 -10
slattach_main 624 614 -10
shuf_main 504 494 -10
setsid_main 96 86 -10
setserial_main 1132 1122 -10
setfont_main 388 378 -10
setconsole_main 78 68 -10
sendmail_main 1209 1199 -10
sed_main 677 667 -10
script_main 1077 1067 -10
run_parts_main 325 315 -10
rtcwake_main 454 444 -10
rm_main 175 165 -10
reformime_main 119 109 -10
readlink_main 123 113 -10
rdate_main 246 236 -10
pwdx_main 189 179 -10
pstree_main 317 307 -10
pscan_main 663 653 -10
popmaildir_main 818 808 -10
pmap_main 80 70 -10
nc_main 1042 1032 -10
mv_main 558 548 -10
mountpoint_main 477 467 -10
mount_main 1264 1254 -10
modprobe_main 768 758 -10
modinfo_main 333 323 -10
mktemp_main 200 190 -10
mkswap_main 324 314 -10
mkfs_vfat_main 1489 1479 -10
microcom_main 715 705 -10
md5_sha1_sum_main 521 511 -10
man_main 867 857 -10
makedevs_main 1052 1042 -10
ls_main 563 553 -10
losetup_main 432 422 -10
loadfont_main 89 79 -10
ln_main 524 514 -10
link_main 75 65 -10
ipcalc_main 544 534 -10
iostat_main 2397 2387 -10
install_main 768 758 -10
id_main 480 470 -10
i2cset_main 1239 1229 -10
i2cget_main 380 370 -10
i2cdump_main 1482 1472 -10
i2cdetect_main 682 672 -10
hwclock_main 406 396 -10
httpd_main 741 731 -10
grep_main 837 827 -10
getty_main 1559 1549 -10
fuser_main 297 287 -10
ftpgetput_main 345 335 -10
ftpd_main 2232 2222 -10
fstrim_main 251 241 -10
fsfreeze_main 77 67 -10
fsck_minix_main 2921 2911 -10
flock_main 314 304 -10
flashcp_main 740 730 -10
flash_eraseall_main 833 823 -10
fdformat_main 532 522 -10
expand_main 680 670 -10
eject_main 335 325 -10
dumpleases_main 630 620 -10
du_main 314 304 -10
dos2unix_main 441 431 -10
diff_main 1350 1340 -10
df_main 1064 1054 -10
date_main 1095 1085 -10
cut_main 961 951 -10
cryptpw_main 228 218 -10
crontab_main 575 565 -10
crond_main 1149 1139 -10
cp_main 370 360 -10
common_traceroute_main 3834 3824 -10
common_ping_main 1767 1757 -10
comm_main 239 229 -10
cmp_main 655 645 -10
chrt_main 379 369 -10
chpst_main 704 694 -10
chpasswd_main 308 298 -10
chown_main 171 161 -10
chmod_main 158 148 -10
cat_main 428 418 -10
bzip2_main 120 110 -10
blkdiscard_main 264 254 -10
base64_main 221 211 -10
arping_main 1665 1655 -10
ar_main 556 546 -10
adjtimex_main 406 396 -10
adduser_main 882 872 -10
addgroup_main 411 401 -10
acpid_main 1198 1188 -10
optstring 11 - -11
opt_string 18 - -18
OPT_STR 25 - -25
ubi_tools_main 1288 1258 -30
ls_options 31 - -31
------------------------------------------------------------------------------
(add/remove: 0/6 grow/shrink: 3/129 up/down: 86/-1383) Total: -1297 bytes
text data bss dec hex filename
915428 485 6876 922789 e14a5 busybox_old
914629 485 6872 921986 e1182 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-08 21:55:02 +02:00
Denys Vlasenko
036585a911
getopt32: remove applet_long_options
...
FEATURE_GETOPT_LONG made dependent on LONG_OPTS.
The folloving options are removed, now LONG_OPTS enables long options
for affected applets:
FEATURE_ENV_LONG_OPTIONS FEATURE_EXPAND_LONG_OPTIONS
FEATURE_UNEXPAND_LONG_OPTIONS FEATURE_MKDIR_LONG_OPTIONS
FEATURE_MV_LONG_OPTIONS FEATURE_RMDIR_LONG_OPTIONS
FEATURE_ADDGROUP_LONG_OPTIONS FEATURE_ADDUSER_LONG_OPTIONS
FEATURE_HWCLOCK_LONG_OPTIONS FEATURE_NSENTER_LONG_OPTS
FEATURE_CHCON_LONG_OPTIONS FEATURE_RUNCON_LONG_OPTIONS
They either had a small number of long options, or their long options are
essential.
Example: upstream addgroup and adduser have ONLY longopts,
we should probably go further and get rid
of non-standard short options.
To this end, make addgroup and adduser "select LONG_OPTS".
We had this breakage caused by us even in our own package!
#if ENABLE_LONG_OPTS || !ENABLE_ADDGROUP
/* We try to use --gid, not -g, because "standard" addgroup
* has no short option -g, it has only long --gid.
*/
argv[1] = (char*)"--gid";
#else
/* Breaks if system in fact does NOT use busybox addgroup */
argv[1] = (char*)"-g";
#endif
xargs: its lone longopt no longer depends on DESKTOP, only on LONG_OPTS.
hwclock TODO: get rid of incompatible -t, -l aliases to --systz, --localtime
Shorten help texts by omitting long option when short opt alternative exists.
Reduction of size comes from the fact that store of an immediate
(an address of longopts) to a fixed address (global variable)
is a longer insn than pushing that immediate or passing it in a register.
This effect is CPU-agnostic.
function old new delta
getopt32 1350 22 -1328
vgetopt32 - 1318 +1318
getopt32long - 24 +24
tftpd_main 562 567 +5
scan_recursive 376 380 +4
collect_cpu 545 546 +1
date_main 1096 1095 -1
hostname_main 262 259 -3
uname_main 259 255 -4
setpriv_main 362 358 -4
rmdir_main 191 187 -4
mv_main 562 558 -4
ipcalc_main 548 544 -4
ifenslave_main 641 637 -4
gzip_main 192 188 -4
gunzip_main 77 73 -4
fsfreeze_main 81 77 -4
flock_main 318 314 -4
deluser_main 337 333 -4
cp_main 374 370 -4
chown_main 175 171 -4
applet_long_options 4 - -4
xargs_main 894 889 -5
wget_main 2540 2535 -5
udhcpc_main 2767 2762 -5
touch_main 436 431 -5
tar_main 1014 1009 -5
start_stop_daemon_main 1033 1028 -5
sed_main 682 677 -5
script_main 1082 1077 -5
run_parts_main 330 325 -5
rtcwake_main 459 454 -5
od_main 2169 2164 -5
nl_main 201 196 -5
modprobe_main 773 768 -5
mkdir_main 160 155 -5
ls_main 568 563 -5
install_main 773 768 -5
hwclock_main 411 406 -5
getopt_main 622 617 -5
fstrim_main 256 251 -5
env_main 198 193 -5
dumpleases_main 635 630 -5
dpkg_main 3991 3986 -5
diff_main 1355 1350 -5
cryptpw_main 233 228 -5
cpio_main 593 588 -5
conspy_main 1135 1130 -5
chpasswd_main 313 308 -5
adduser_main 887 882 -5
addgroup_main 416 411 -5
ftpgetput_main 351 345 -6
get_terminal_width_height 242 234 -8
expand_main 690 680 -10
static.expand_longopts 18 - -18
static.unexpand_longopts 27 - -27
mkdir_longopts 28 - -28
env_longopts 30 - -30
static.ifenslave_longopts 34 - -34
mv_longopts 46 - -46
static.rmdir_longopts 48 - -48
packed_usage 31739 31687 -52
------------------------------------------------------------------------------
(add/remove: 2/8 grow/shrink: 3/49 up/down: 1352/-1840) Total: -488 bytes
text data bss dec hex filename
915681 485 6880 923046 e15a6 busybox_old
915428 485 6876 922789 e14a5 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-08 17:09:40 +02:00
Denys Vlasenko
00677b5e35
*: fix up use of "getopt_longopts" for longopts not in getopt applet
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-08 14:59:35 +02:00
Denys Vlasenko
1a1203ff89
users,w,who,uptime,renice: make NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-07 16:47:34 +02:00
Denys Vlasenko
798b94518e
ubi tools: ubiupdatevol supports "-" input and actually respects -s SIZE
...
Decided to not make any flash applets NOEXEC.
Minor robustifications here and there. Better error messages. Save on strings:
function old new delta
ubi_tools_main 1235 1288 +53
ubi_get_volid_by_name 125 133 +8
ubirename_main 198 204 +6
get_num_from_file 90 94 +4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 71/0) Total: 71 bytes
text data bss dec hex filename
915696 485 6880 923061 e15b5 busybox_old
915670 485 6880 923035 e159b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-07 16:00:25 +02:00
Denys Vlasenko
b34eb4a591
ubiupdatevol: fix bug with -sSIZE: was ignoring IMAGE_FILE
...
While at it, fix help text
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-07 03:24:29 +02:00
Denys Vlasenko
115e0a7199
ubi_tools: a bit smaller applet resolution code
...
function old new delta
ubi_tools_main 1241 1235 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-07 02:55:33 +02:00
Denys Vlasenko
9536ef7c98
makedevs: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 21:47:07 +02:00
Denys Vlasenko
ed7d118dd0
adjtimex: make it NOFORK
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 20:00:21 +02:00
Denys Vlasenko
c8e29317e9
adjtimex: zero-fill whole structure, to be on the safe side
...
function old new delta
adjtimex_main 395 406 +11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 19:46:21 +02:00
Denys Vlasenko
a894a4bedd
raidautorun: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 19:08:46 +02:00
Denys Vlasenko
97b738d359
setserial: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 18:06:46 +02:00
Denys Vlasenko
08e66a8149
setserial: code shrink, better --help text
...
function old new delta
packed_usage 31747 31749 +2
setserial_main 1152 1132 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-06 17:59:37 +02:00
Denys Vlasenko
3239ab89c9
lspci,lsscsi,lsusb: make them NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-05 23:28:19 +02:00
Denys Vlasenko
20077c1429
libbb: make trim() return pointer to terminating NUL
...
function old new delta
trim 80 90 +10
angle_address 56 50 -6
sysctl_main 282 273 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: +10/-15) Total: -5 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-05 17:50:35 +02:00
Denys Vlasenko
9c49d6e11b
partprobe: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-05 01:46:39 +02:00
Denys Vlasenko
83d7785e41
runlevel: make it NOEXEC
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-04 17:59:46 +02:00
Denys Vlasenko
74c05f5b2c
chat: trim help text
...
Noticed while auditing nofork/noexec status
function old new delta
packed_usage 31777 31747 -30
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-04 17:36:16 +02:00
Denys Vlasenko
4dc86699b5
microcom: require exactly one non-option
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-04 02:01:45 +02:00
Denys Vlasenko
39194f0309
new NOFORKs: pwdx,kill[all5],ttysize,realpath,readlink NOEXECs: date,resize
...
function old new delta
run_nofork_applet 258 280 +22
readlink_main 112 123 +11
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 33/0) Total: 33 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-03 19:03:32 +02:00
Denys Vlasenko
95f7953f2c
do not use `a' quoting style in comments
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-08-02 14:26:33 +02:00
Denys Vlasenko
5b3cbe3a53
config: more tweaking of help texts
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-27 14:45:25 +02:00
Denys Vlasenko
68b653b66b
config: trim/improve item names and help texts, take 2
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-27 10:53:09 +02:00
Denys Vlasenko
bbf17bbf32
crond: do not assume setenv() does not leak
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-22 02:25:47 +02:00
Denys Vlasenko
c9e7843dde
crond: allow $SHELL and starting user's shell override DEFAULT_SHELL. Closes 6458
...
function old new delta
crond_main 1134 1149 +15
fork_job 453 454 +1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-22 01:47:19 +02:00
Denys Vlasenko
72089cf6b4
config: deindent all help texts
...
Those two spaces after tab have no effect, and always a nuisance when editing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-21 09:50:55 +02:00
Denys Vlasenko
ae178cee3d
Update remaining menuconfig items with approximate applet sizes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-19 14:32:54 +02:00
Denys Vlasenko
9880f86d6e
hdparm: remove contradicting size info in config help
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 22:25:58 +02:00
Denys Vlasenko
4eed2c6c50
Update menuconfig items with approximate applet sizes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-18 22:01:24 +02:00
Denys Vlasenko
68e980545a
ttysize: if stdin is not tty, try stdout, then stderr
...
function old new delta
ttysize_main 135 175 +40
packed_usage 31686 31672 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-16 20:36:48 +02:00
Denys Vlasenko
d18b200096
crond: code shrink
...
function old new delta
load_crontab 936 925 -11
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-09 00:08:13 +02:00
Denys Vlasenko
0b3b65fa91
crond: move misplaced comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-09 00:00:39 +02:00
Denys Vlasenko
75fbea3879
crond: support @daily etc
...
function old new delta
start_jobs - 348 +348
load_crontab 766 936 +170
static.SpecAry - 96 +96
crond_main 1424 1134 -290
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 1/1 up/down: 614/-290) Total: 324 bytes
Based on patch by Jonathan Kolb <kolbyjack@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-08 20:53:11 +02:00
Denys Vlasenko
1572f520cc
watchdog: do not use argc, other cleanups
...
function old new delta
watchdog_main 298 291 -7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-08 18:53:49 +02:00
Matt Spinler
31c765081d
watchdog: stop watchdog first on startup
...
Some watchdog implementations may do things other than issue
a reboot on a watchdog timeout. In this case, there's the
possibility of restarting this program from the state of
the watchdog device not being properly stopped (done by writing
a 'V' and closing the device). Since it wasn't stopped, the
driver may not be able to restart the watchdog when this program
reopens it and starts pinging it.
To fix this, the code will always first issue the stop when it
starts up.
function old new delta
shutdown_on_signal - 32 +32
watchdog_main 268 298 +30
shutdown_watchdog - 25 +25
watchdog_shutdown 41 - -41
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 1/0 up/down: 87/-41) Total: 46 bytes
Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-08 18:35:25 +02:00
Denys Vlasenko
1b84f4a22a
beep: disallow FEATURE_BEEP_FREQ = 0 in configuration
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-08 12:21:45 +02:00
Denys Vlasenko
3c9688e587
makedevs: code shrink
...
function old new delta
makedevs_main 1071 1052 -19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-06 02:17:24 +02:00
Denys Vlasenko
3532e60ca8
makedevs: allow much longer filenames
...
function old new delta
makedevs_main 1056 1071 +15
Patch by Kang-Che Sung <explorer09@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-07-06 02:04:32 +02:00
Denys Vlasenko
a1a3b595e1
time: inplement -f FMT
...
function old new delta
time_main 1076 1134 +58
packed_usage 31577 31572 -5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-28 18:01:18 +02:00
Tommi Rantala
5fe5be210c
time: implement -a, -o FILE
...
function old new delta
time_main 1052 1076 +24
packed_usage 31571 31577 +6
Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-28 17:54:14 +02:00
Tommi Rantala
854174f7dd
time: document -p in usage
...
Signed-off-by: Tommi Rantala <tommi.t.rantala@nokia.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-28 17:34:32 +02:00
Markus Gothe
9c7ee1439a
lsscsi: new applet
...
function old new delta
lsscsi_main - 326 +326
applet_names 2613 2620 +7
applet_main 1512 1516 +4
applet_install_loc 189 190 +1
packed_usage 31566 31560 -6
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/1 up/down: 338/-6) Total: 332 bytes
Signed-off-by: Markus Gothe <nietzsche@lysator.liu.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-18 19:26:26 +02:00
Denys Vlasenko
10ad622dc2
Spelling fixes in comments, documentation, tests and examples
...
By klemens <ka7@github.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-17 16:13:32 +02:00
Denys Vlasenko
783d57af7b
Sort some miscutils/ applets into coreutils or util-linux
...
No code changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-12 13:58:40 +02:00
Denys Vlasenko
ac47a00e2e
partprobe: new applet
...
function old new delta
partprobe_main - 79 +79
packed_usage 31485 31511 +26
applet_names 2608 2618 +10
applet_main 1512 1516 +4
applet_install_loc 189 190 +1
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 4/0 up/down: 120/0) Total: 120 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-04-11 19:17:59 +02:00
Rostislav Skudnov
8762512fdb
Replace int -> uint to avoid signed integer overflow
...
An example of such an error (should be compiled with DEBUG_SANITIZE):
runtime error: left shift of 1 by 31 places cannot be represented in
type 'int'
Signed-off-by: Rostislav Skudnov <rostislav@tuxera.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-02-04 23:10:22 +01:00
Denys Vlasenko
d6ace66973
taskset: simplify code a bit; tweak --help
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-30 22:20:06 +01:00
Denys Vlasenko
86663910ba
taskset: separate "current" and "new" strings
...
Better for constant sharing:
text data bss dec hex filename
912997 485 6856 920338 e0b12 busybox_old
912988 485 6856 920329 e0b09 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-29 18:59:38 +01:00
Denys Vlasenko
ef0e76cc27
taskset: rewrite to be task size-agnostic
...
function old new delta
packed_usage 31130 31190 +60
taskset_main 623 525 -98
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 60/-98) Total: -38 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-29 18:19:29 +01:00
Denys Vlasenko
205d48e948
*: add comment about APPLET_ODDNAME format
...
It confused me more than once
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-29 14:57:33 +01:00
Denys Vlasenko
f3d705f41b
make --help texts smaller
...
function old new delta
packed_usage 31035 30968 -67
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-21 03:46:57 +01:00
Denys Vlasenko
bbc7bee966
make --help texts more uniform
...
function old new delta
packed_usage 31062 31035 -27
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-21 02:49:58 +01:00
Denys Vlasenko
01ccdd1d3c
libbb: consolidate the code to set termios unbuffered mode
...
function old new delta
set_termios_to_raw - 116 +116
count_lines 72 74 +2
powertop_main 1458 1430 -28
top_main 943 914 -29
more_main 759 714 -45
fsck_minix_main 2969 2921 -48
conspy_main 1197 1135 -62
rawmode 99 36 -63
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/6 up/down: 118/-275) Total: -157 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-11 16:17:59 +01:00
Denys Vlasenko
f560422fa0
Big cleanup in config help and description
...
Redundant help texts (one which only repeats the description)
are deleted.
Descriptions and help texts are trimmed.
Some config options are moved, even across menus.
No config option _names_ are changed.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2017-01-10 14:58:54 +01:00
Denys Vlasenko
1d3a04a3a4
Code style fixes, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-28 01:22:57 +01:00
Denys Vlasenko
2c769c69b2
makedevs: make special node creation idempotent
...
When makedevs is called for a second time with the same device file,
it fails because the files already exist and mknod() gives -EEXIST.
Ignore EEXIST errors.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-27 23:27:54 +01:00
Denys Vlasenko
e5dd71f94f
Remove trailing empty lines
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-23 10:43:39 +01:00
Denys Vlasenko
f88e3bfa8d
Convert all miscutils/* applets to "new style" applet definitions
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-22 23:54:17 +01:00
Denys Vlasenko
fb4da16711
Split miscutils/Config.src items into miscutils/*.c files
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-11-22 23:14:24 +01:00
Denys Vlasenko
2e6af54971
man: remove -Tascii from nroff invocation
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-10-31 14:05:34 +01:00
Denys Vlasenko
7c3c92c533
man: make width selection more thorough; explain how to override it
...
Fedora's "man CMD >file" still uses terminal width, not 80 (but disables formatting),
this change mimics that.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-10-31 01:52:18 +01:00
Denys Vlasenko
a92a74961d
man: allow nroff and tbl commands be overridden; unmangle writing to files
...
Parse this in config files:
DEFINE col ...
DEFINE tbl ...
DEFINE nroff ...
Add width options to nroff command line.
Use "tbl", not "gtbl", as default tbl command.
Export GROFF_NO_SGR=1 and use "col -b -p -x" instead of pager when writing to file.
function old new delta
man_main 735 863 +128
if_redefined - 64 +64
show_manpage 199 169 -30
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 192/-30) Total: 162 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-10-30 22:31:30 +01:00
Tito Ragusa
69312e87b0
strings: implement -t radix
...
v2: minor code cleanup, no changes.
v1: Implement -t radix option.
Fix help text for -o option.
Signed-off-by: Tito Ragusa <farmatito@tiscali.it>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-10-24 21:52:10 +02:00
Denys Vlasenko
7fa799a97d
less: switch off nonblock on kbd_fd before exit
...
This is only necessary if we use stdout fd.
function old new delta
less_exit 32 51 +19
less_main 2540 2543 +3
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 22/0) Total: 22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-13 21:05:48 +02:00
Denys Vlasenko
3c0e579a06
less: fall back to using fd #1 for keyboard reading. Closes 9231
...
function old new delta
less_main 2535 2540 +5
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-09-13 20:53:38 +02:00
Denys Vlasenko
6b76e23454
man: fix parsing of "DEFINE pager xyz". Closes 8976
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-22 21:41:05 +02:00
Denys Vlasenko
110c6bb413
less: fix bracket search to match behavior of less 481
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-16 15:27:30 +02:00
Denys Vlasenko
252559601f
less: fix SEGV
...
testcase: echo "" | less, then press ')' key
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-08-16 15:09:40 +02:00
Denys Vlasenko
237bedd499
getopt32: add new syntax of 'o:+' and 'o:*' for -o NUM and -o LIST
...
In many cases, this aqllows to drop use of opt_complementary.
Approximately -400 bytes:
function old new delta
getopt32 1423 1502 +79
opt_string 17 18 +1
OPT_STR 24 25 +1
uniq_main 416 406 -10
timeout_main 279 269 -10
sulogin_main 270 260 -10
readprofile_main 1825 1815 -10
ps_main 543 533 -10
pidof_main 245 235 -10
pgrep_main 611 601 -10
od_main 2600 2590 -10
mkfs_minix_main 2684 2674 -10
mkfs_ext2_main 2603 2593 -10
microcom_main 712 702 -10
makemime_main 315 305 -10
ionice_main 282 272 -10
inetd_main 2074 2064 -10
ifplugd_main 1144 1134 -10
halt_main 353 343 -10
getopt_main 636 626 -10
fdisk_main 2854 2844 -10
env_main 206 196 -10
dmesg_main 319 309 -10
conspy_main 1214 1204 -10
awk_main 981 971 -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/22 up/down: 81/-220) Total: -139 bytes
text data bss dec hex filename
919373 906 14060 934339 e41c3 busybox_old
918969 906 14060 933935 e402f busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-07-06 21:58:02 +02:00
Bartosz Golaszewski
59f8197624
i2cdump: don't use common_bufsiz1
...
Commit e6a2f4cc
changed the way common_bufsiz1 works. Now it needs to
be initialized before using, but i2cdump wasn't updated by said patch.
Since the fact that we're using common_bufsiz1 here isn't obvious (no
G_INIT() macro, no other global variables), drop it and simply
allocate the integer array required for block reads on the stack.
Tested with i2c block read on a Lenovo Thinkpad laptop.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-24 03:58:43 +02:00
Denys Vlasenko
7cf45ae10e
setsid: fix broken -c
...
This did not work: setsid sh -c 'anything'
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-20 23:50:26 +02:00
Denys Vlasenko
015db5800c
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-06-19 18:15:33 +02:00
Denys Vlasenko
3e134ebf6a
*: slap on a few ALIGN1/2s where appropriate
...
The result of looking at "grep -F -B2 '*fill*' busybox_unstripped.map"
text data bss dec hex filename
829901 4086 1904 835891 cc133 busybox_before
829665 4086 1904 835655 cc047 busybox
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-22 18:09:21 +02:00
Denys Vlasenko
9de2e5a222
*: hopefully all setup_common_bufsiz() are in place
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 18:38:51 +02:00
Denys Vlasenko
47cfbf32fd
*: add most of the required setup_common_bufsiz() calls
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 18:18:48 +02:00
Denys Vlasenko
e6a2f4cc5a
libbb: make bb_common_bufsiz1 1 kbyte, add capability to use bss tail for it
...
The config item is FEATURE_USE_BSS_TAIL. When it is off (default):
function old new delta
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
push 46 44 -2
inetd_main 2136 2134 -2
uevent_main 421 418 -3
addLines 97 92 -5
bb_common_bufsiz1 8193 1024 -7169
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/5 up/down: 62/-7181) Total: -7119 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829901 4086 1904 835891 cc133 busybox_unstripped
FEATURE_USE_BSS_TAIL=y:
read_config 210 228 +18
doCommands 2279 2294 +15
ipneigh_list_or_flush 763 772 +9
ipaddr_list_or_flush 1256 1261 +5
display_process_list 1301 1306 +5
conspy_main 1378 1383 +5
do_lzo_compress 352 355 +3
do_lzo_decompress 565 567 +2
inetd_main 2136 2134 -2
bb_common_bufsiz1 8193 - -8193
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 8/1 up/down: 62/-8195) Total: -8133 bytes
text data bss dec hex filename
829850 4086 9080 843016 cdd08 busybox_old
829911 4086 880 834877 cbd3d busybox_unstripped
FIXME: setup_common_bufsiz() calls are missing.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-21 17:39:11 +02:00
Denys Vlasenko
6aab9928de
whitespace and namespace cleanups
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 22:24:51 +02:00
Sven Eisenberg
b068cf2a7e
ubirmvol: Implement -N switch for ubirmvol
...
function old new delta
get_volid_by_name - 125 +125
ubi_devnum_from_devname - 43 +43
ubi_tools_main 1215 1220 +5
packed_usage 30674 30655 -19
ubirename_main 394 221 -173
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 1/2 up/down: 173/-192) Total: -19 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 22:01:43 +02:00
Sven Eisenberg
cb92640998
ubirename: new applet
...
function old new delta
ubirename_main - 394 +394
packed_usage 30611 30674 +63
applet_names 2530 2540 +10
Signed-off-by: Sven Eisenberg <sven.eisenberg@novero.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-04-03 20:12:03 +02:00
Denys Vlasenko
066e76befe
Replace a few more bb_info_msg's by bb_error_msg or printf
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:20:28 +02:00
Denys Vlasenko
76b680c7a8
Use bb_error_msg instead of bb_info_msg in all commented-out debug printouts
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-30 16:04:37 +02:00
Denys Vlasenko
23961b2fd3
more bionic fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-14 19:34:15 +01:00
Denys Vlasenko
dbb58a3879
fixes for problems found by bionic build
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-14 18:23:33 +01:00
Denys Vlasenko
7849ccb61c
inotifyd: swap meaning of 'y' and 'm' events in help text. Closes 8726
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-03-06 17:35:16 +01:00
Arnout Vandecappelle (Essensium/Mind)
5fa9fefddc
taskset: fix non-fancy cpuset printing on big-endian
...
The non-fancy version of the from_cpuset uses CPU_SETSIZE as if it
represents the number of bytes in the cpuset, while it is actually
the number of bits. This leads to out-of-bounds accesses on the
cpu_set_t in the big-endian case. Basically all uses of CPU_SETSIZE
have to be divided by 8. This is done correctly in the fancy version
of from_cpuset.
In addition, the big-endian case is completely wrong to begin with.
All standard C libraries that I know of implement cpu_set_t as an
unsigned long array, so both for big and little endian, the least
significant bits are in the beginning of the array. Therefore, the
approach taken for the little endian case is equally valid. We only
need special handling for big endian when CPU_SETSIZE is large and
we use an unsigned long long to get more bits out.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-02-26 14:36:24 +01:00
Denys Vlasenko
ccf7f0e4d3
setsid: implement -c
...
function old new delta
setsid_main 53 96 +43
packed_usage 30846 30833 -13
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-01-17 01:10:53 +01:00
Aaro Koskinen
76915bf738
nandwrite: implement -n (read/write without ecc)
...
Implement -n (read/write without ecc).
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2016-01-02 01:33:01 +01:00
Denys Vlasenko
2cf4591413
i2c_tools: suppress "'blen' may be used uninitialized in this function"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:58:03 +01:00
Bartosz Golaszewski
5ed6989d80
i2cdump: display the numeric value for block read ioctl() errors
...
This makes busybox i2cdump compatible with the upstream version, which
also displays the numeric error value in case of a block read failure.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:10 +01:00
Bartosz Golaszewski
74bb9d5e63
i2cdump: bail-out if block read fails
...
We should bail-out if i2c_smbus_read_block_data() or
i2c_smbus_read_i2c_block_data() return 0 or less. Add the missing check
for the former and fix the existing for the latter.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:09 +01:00
Bartosz Golaszewski
1fe75b8ef1
i2cdump: use I2C block mode for the 'i' mode parameter
...
Currently we're calling i2c_smbus_read_block_data() for both 'i' and 's'
mode parameters. If the bus doesn't support SMBus block mode, then the
i2c access ioctl() fails. Make i2cdump behave compatibly with upstream
version by calling i2c_smbus_read_i2c_block_data() for I2C block.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:09 +01:00
Bartosz Golaszewski
1cde5f79d4
i2cdump: don't read block data in non-block modes
...
We currently read data twice in byte mode. Add a check to avoid calling
i2c_smbus_read_i2c_block_data() if we're not in I2C or SMBus block mode.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:09 +01:00
Bartosz Golaszewski
fc8eb056ea
i2cdetect: coding style: add a space after 'for'
...
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:09 +01:00
Bartosz Golaszewski
99f025a499
i2cdetect: fix address skipping in auto mode
...
If the bus doesn't support SMBus Quick Write or Receive Byte commands
and we're running in auto mode all addresses will be skipped resulting
in an empty table being printed.
This is caused by not restoring the auto mode after it's been changed
for certain address ranges - we need an additional variable to hold the
temporary state.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-11-01 20:55:09 +01:00
Timo Teräs
82c2fad26c
fbsplash: use virtual y size in mmap size calculations
...
The virtual y can be larger - and we can be even writing there since
we are taking into account the y offset. Avoids possible crash.
But use it only if set, seems it is not set if virtual area is not
allocated (though, often fbcon allocates some scrollback area).
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-27 21:32:00 +01:00
Denys Vlasenko
db700330d8
tweak defconfig
...
MONOTONIC_SYSCALL=y by default
FEATURE_LAST_SMALL is gone: now FEATURE_LAST_FANCY is a "bool", not a "choice".
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-25 20:36:03 +01: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
932302666b
randconfig fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-11 16:58:18 +02:00
Denys Vlasenko
02859aaeb2
use auto_string() where appropriate to kill a few statics
...
Custom linker script 'busybox_ldscript' found, using it
function old new delta
static.str 4 - -4
static.passwd 4 0 -4
bb_ask 322 311 -11
ether_print 63 47 -16
UNSPEC_print 82 66 -16
INET_sprint 59 38 -21
INET6_sprint 54 30 -24
make_human_readable_str 292 235 -57
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/7 up/down: 0/-153) Total: -153 bytes
text data bss dec hex filename
939880 992 17480 958352 e9f90 busybox_old
939736 992 17456 958184 e9ee8 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-09 18:16:40 +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
d60752f8c9
build system: -fno-builtin-printf
...
Benefits are: drops reference to out-of-line putchar(), fixes a few cases
of failed string merge.
function old new delta
i2cdump_main 1488 1502 +14
sha256_process_block64 423 433 +10
sendmail_main 1183 1185 +2
list_table 1114 1116 +2
i2cdetect_main 1235 1237 +2
fdisk_main 2852 2854 +2
builtin_type 119 121 +2
unicode_conv_to_printable2 325 324 -1
scan_recursive 380 378 -2
mkfs_minix_main 2687 2684 -3
buffer_fill_and_print 178 169 -9
putchar 152 - -152
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 7/4 up/down: 34/-167) Total: -133 bytes
text data bss dec hex filename
937788 932 17676 956396 e97ec busybox_old
937564 932 17676 956172 e970c busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-10-07 22:42:45 +02:00
Bartosz Golaszewski
2beb52499e
i2c-tools: rename remaining defines
...
Rename the defines not present in linux UAPI headers to better reflect
their purpose.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:01 +02:00
Bartosz Golaszewski
d9892fa0c3
i2c-tools: remove duplicate definitions
...
Most applets include linux' user API headers instead of duplicating
the definitions. Make it the case for i2c-tools as well.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-09-21 13:15:00 +02:00
Ron Yorston
26ccd3d062
less: fix botched attempt to use last column
...
Commit 1ecb996
attempted to make read_lines() use the last column of
the terminal (as re_wrap() did). There were two problems with this:
- The size of the buffer allocated for lines wasn't increased to allow
for the extra character.
- The test for width overflow was moved after the point where the
next character was added to the buffer. This caused a buffer overflow
in certain circumstances.
For example, if the line beyond the end of the display was wider than
the display read_lines() would initially read the partial line into a
buffer. When the user moved down read_lines() would be called again
to ensure the rest of the line was read. This would place the next
character in the partial line before checking for overflow.
This can be fixed by moving the test for overflow back to where it was
before commit 1ecb996
and changing the comparison to `>` rather than
`>=`.
There are two other places where buffers are created without allowing
for width+1 characters.
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-16 18:54:49 +02:00
Ron Yorston
b27cf31003
less: further tweaks to regular file detection
...
Test explicitly for REOPEN flags: update_num_lines is called
unconditionally so (num_lines != NOT_REGULAR_FILE) is also true when
num_lines contains a valid number of lines.
The call to fstat doesn't need to be in #if ENABLE_FEATURE_LESS_FLAGS:
the whole function is already in such a test.
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-08-03 16:41:19 +02:00
Denys Vlasenko
9dc526d0f9
less: improve regular file detection in line counting code
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:42:20 +02:00
Ron Yorston
1ecb996fd2
less: allow use of last column of terminal
...
When read_lines tests whether a character will fit on the current
line it checks the *next* character but in case of overflow doesn't
display the *current* one. This results in the last column of the
terminal never being used.
The test in re_wrap (used when the terminal width changes or line
numbers are enabled/disabled) is different: it does allow the use
of the final column.
function old new delta
read_lines 764 770 +6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 6/0) Total: 6 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:22:09 +02:00
Ron Yorston
d542d183e1
less: fix line number confusion
...
Much of the code refers to lines using indices into the flines
array (which splits lines into portions that fit on the terminal).
In some cases this is wrong and actual line numbers should be
used:
- when lines are being truncated rather than wrapped (-S flag)
- when line numbers have been entered by the user
Also fix a bug in numeric input and improve the display at EOF.
function old new delta
goto_lineno - 111 +111
cap_cur_fline - 101 +101
buffer_to_line - 56 +56
buffer_up 35 66 +31
less_main 2606 2615 +9
goto_match 125 127 +2
buffer_down 81 56 -25
buffer_line 64 - -64
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 3/1 up/down: 310/-89) Total: 221 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:22:08 +02:00
Ron Yorston
ad1b4d5882
less: add a function to detect when display is at end of file
...
Add a function to package the test that detects whether enough has
been read from the file to allow a screenful to be displayed.
Also use this to determine when to display '(END)' in the status
line. The previous code was incomplete and didn't handle truncated
lines (-S flag) properly.
function old new delta
at_end - 63 +63
status_print 111 109 -2
read_lines 819 764 -55
getch_nowait 319 264 -55
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/3 up/down: 63/-112) Total: -49 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:22:08 +02:00
Ron Yorston
70b84be9e8
less: rearrange detection of non-regular files
...
Move the code to detect non-regular files to the point where the
file is being opened. If num_lines == READING_FILE guarantees
that the file is regular.
Detect when a file becomes unreadable between it first being opened
and the call to update_num_lines. Mark the file as being non-regular
so we don't try that again.
function old new delta
reinitialize 197 245 +48
update_num_lines 159 127 -32
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 48/-32) Total: 16 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:22:07 +02:00
Ron Yorston
159e032bf4
less: move code to count lines into a separate function
...
function old new delta
update_num_lines - 159 +159
m_status_print 409 266 -143
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 159/-143) Total: 16 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 16:22:07 +02:00
Ron Yorston
ae1a9e899e
less: fix numeric input
...
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-31 15:33:53 +02:00
Ron Yorston
193ba408a4
less: improvements to verbose status messages
...
Make verbose status messages (-m/-M flags) behave more like the
real `less` command:
- fix display of line numbers so they're correct whether lines are
being truncated (-S flag) or wrapped.
- don't display total lines or percentage when lines are read from
stdin: we don't have that information until we reach EOF. When
we do reach EOF the additional information is displayed.
- when lines are read from a file count the total number of lines
so that we can display percentages. Counting lines is avoided
until the information is actually needed. If the user pages to
EOF the separate read pass can be avoided entirely.
Fixes Bug 7586
function old new delta
m_status_print 195 382 +187
safe_lineno - 35 +35
reinitialize 172 182 +10
read_lines 675 685 +10
buffer_fill_and_print 178 169 -9
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/1 up/down: 242/-9) Total: 233 bytes
Signed-off-by: Ron Yorston <rmy@pobox.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-21 22:28:09 +02:00
Ron Yorston
d840c5d139
libbb: add a function to make a copy of a region of memory
...
Introduce a library routine to package the idiom:
p = xmalloc(b, n);
memcpy(p, b, n);
and use it where possible. The example in traceroute used xzalloc
but it didn't need to.
function old new delta
xmemdup - 32 +32
last_main 834 826 -8
make_device 2321 2311 -10
common_traceroute_main 3698 3685 -13
readtoken1 3182 3168 -14
procps_scan 1222 1206 -16
forkchild 655 638 -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/6 up/down: 32/-78) Total: -46 bytes
Signed-off-by: Ron Yorston <rmy@frippery.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-19 23:05:20 +02:00
Ron Yorston
78cfa00154
less: correctly account for tabs when rewrapping lines
...
Lines are rewrapped when the terminal width changes or line numbers
are enabled/disabled. The current calculation always adds eight to
the line length for a tab whereas it should only add enough to move
to the next tab stop.
This doesn't affect the display of lines, which is handled elsewhere
and gets tab stops right, but it does cause lines to be wrapped at
the wrong position.
Signed-off-by: Ron Yorston <rmy@frippery.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-19 22:50:25 +02:00
Ron Yorston
f06386ad4f
less: fix display of line numbers
...
Line numbers are displayed incorrectly on lines that have a search
pattern highlighted. The problem can be fixed by moving the call to
lineno_str in print_found above the while loop that alters the value
of the line pointer. However, a more substantial rewrite results in
savings.
function old new delta
buffer_print 688 697 +9
.rodata 156077 156045 -32
lineno_str 85 - -85
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/1 up/down: 9/-117) Total: -108 bytes
Signed-off-by: Ron Yorston <rmy@frippery.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-19 22:48:05 +02:00
Ron Yorston
51aa861843
less: document -S flag and make it independently configurable
...
The -S flag, to cause long lines to be truncated, was enabled by
FEATURE_LESS_DASHCMD. This is non-obvious and -S is useful even
if the '-' command isn't enabled.
function old new delta
.rodata 156045 156077 +32
packed_usage 30223 30244 +21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 53/0) Total: 53 bytes
Signed-off-by: Ron Yorston <rmy@frippery.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-19 22:34:13 +02:00
Maninder Singh
97f2f7ca7f
Removes stray empty line from code
...
This patch removes stray empty line from busybox code
reported by script find_stray_empty_lines
Signed-off-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Akhilesh Kumar <akhilesh.k@samsung.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-07-13 03:25:46 +02:00
Bartosz Golaszewski
d90899206d
i2cdetect: use break instead of goto in list_i2c_busses_and_exit()
...
Since there are now more statements in the if block after the while loop
in list_i2c_busses_and_exit(), there's no need for a label.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-06-07 18:05:47 +02:00
Bartosz Golaszewski
aeb11a9496
i2cdump: code rework
...
Split i2cdump_main() into shorter functions. Simplify the code a bit.
Make block an array of ints so that we can store negative results of
read functions (fixes a bug found by Denys Vlasenko).
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-06-07 18:05:47 +02:00
Bartosz Golaszewski
2204472497
i2cdetect: add a check for (mode == DETECT_MODE_AUTO)
...
We should only warn the user about addresses to be skipped if
(mode == DETECT_MODE_AUTO).
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-06-07 18:05:47 +02:00
Bartosz Golaszewski
e545bf6723
i2cdetect: don't scan non-regular addresses without the '-a' option
...
Addresses 0x00-0x02 shouldn't be scanned by default. This patch makes
'first' default to 0x03 and only enables lower addresses if '-a' option
is passed
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-06-07 18:05:46 +02:00
Bartosz Golaszewski
314742747d
i2cdetect: don't die on addresses already in use by drivers
...
We can't use i2c_set_slave_addr() in i2cdetect, as we have to check for
EBUSY after calling ioctl(I2C_SLAVE) and print 'UU' on busy addresses
instead of bailing-out.
While we're at it: reorder definitions of local vars in i2cdetect_main().
function old new delta
i2cdetect_main 703 744 +41
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 41/0) Total: 41 bytes
text data bss dec hex filename
826097 4164 9584 839845 cd0a5 busybox_old
826145 4164 9584 839893 cd0d5 busybox_unstripped
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-06-07 18:05:34 +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
Denys Vlasenko
c4603fb09a
dc: fix "dc p" prinitng bogus data
...
function old new delta
check_under - 20 +20
print_no_pop 27 32 +5
pop 33 24 -9
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 25/-9) Total: 16 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-25 13:31:25 +02:00
Bartosz Golaszewski
7ca5c51cc8
i2c-tools: only try /dev/i2c/* if opening /dev/i2c-* fails with ENOENT
...
Trying to access /dev/i2c/* on every error after opening /dev/i2c-* can
mislead users who e.g. don't have root access. Instead of bailing-out
with "permission denied" we currently print "no such file or directory".
Fix it by trying open("/dev/i2c/%d") only if we got ENOENT.
Upstream i2cdetect tries to get any info it can from /sys and /proc even
when invoked by an unprivileged user, but we don't want to add unnecessary
bloat.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-11 17:26:27 +02:00
Bartosz Golaszewski
b2cca32a37
i2c-tools: fix 'i2cdetect -l'
...
Calling 'i2cdetect -l' only displays usage and exits. Fix it by
correctly parsing command-line arguments.
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-05-11 17:24:03 +02:00
Bernhard Reutner-Fischer
86a7f18f21
*: Switch to POSIX utmpx API
...
UTMP is SVID legacy, UTMPX is mandated by POSIX.
Glibc and uClibc have identical layout of UTMP and UTMPX, both of these
libc treat _PATH_UTMPX as _PATH_UTMP so from a user-perspective nothing
changes except the names of the API entrypoints.
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2015-04-02 23:03:46 +02:00
Denys Vlasenko
8dff01d06a
libbb: introduce and use is_prefixed_with()
...
function old new delta
is_prefixed_with - 18 +18
complete_username 78 77 -1
man_main 737 735 -2
fsck_device 429 427 -2
unpack_ar_archive 80 76 -4
strip_unsafe_prefix 105 101 -4
singlemount 1054 1050 -4
rtc_adjtime_is_utc 90 86 -4
resolve_mount_spec 88 84 -4
parse_one_line 1029 1025 -4
parse_conf 1460 1456 -4
may_wakeup 83 79 -4
loadkmap_main 219 215 -4
get_irqs_from_stat 103 99 -4
get_header_cpio 913 909 -4
findfs_main 79 75 -4
fbsplash_main 1230 1226 -4
load_crontab 776 771 -5
expand_vars_to_list 1151 1146 -5
date_main 881 876 -5
skip_dev_pfx 30 24 -6
make_device 2199 2193 -6
complete_cmd_dir_file 773 767 -6
run_applet_and_exit 715 708 -7
uudecode_main 321 313 -8
pwdx_main 197 189 -8
execute 568 560 -8
i2cdetect_main 1186 1176 -10
procps_scan 1242 1230 -12
procps_read_smaps 1017 1005 -12
process_module 746 734 -12
patch_main 1903 1891 -12
nfsmount 3572 3560 -12
stack_machine 126 112 -14
process_timer_stats 449 435 -14
match_fstype 111 97 -14
do_ipaddr 1344 1330 -14
open_list_and_close 359 343 -16
get_header_tar 1795 1779 -16
prepend_new_eth_table 340 323 -17
fsck_main 1811 1794 -17
find_iface_state 56 38 -18
dnsd_main 1321 1303 -18
base_device 179 158 -21
find_keyword 104 82 -22
handle_incoming_and_exit 2785 2762 -23
parse_and_put_prompt 774 746 -28
modinfo 347 317 -30
find_action 204 171 -33
update_passwd 1470 1436 -34
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/49 up/down: 18/-540) Total: -522 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-03-12 17:48:34 +01:00
Denys Vlasenko
54e9585e10
trivial code shrink
...
function old new delta
rdate_main 246 251 +5
show_entry 291 287 -4
daytime_stream 44 39 -5
packed_usage 30176 30168 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 5/-17) Total: -12 bytes
text data bss dec hex filename
929453 932 17684 948069 e7765 busybox_old
929411 932 17684 948027 e773b busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-18 13:47:46 +01:00
Bernhard Reutner-Fischer
70e30e8eec
dc: tweak parsing
...
https://bugs.debian.org/538685
dc requires whitespace between language elements.
We were requiring
1 2 + p
instead of the abbreviated
1 2+p
(for example).
function old new delta
stack_machine 97 126 +29
dc_main 117 79 -38
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 29/-38) Total: -9 bytes
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-16 17:12:04 +01:00
Bartosz Golaszewski
622a7aab2c
i2cget, i2cset, i2cdetect, i2cdump: new applets
...
Add a minimal implementation of i2cget, i2cset, i2cdump and i2cdetect
tools. Supports most features of upstream i2c-tools.
function old new delta
i2cdump_main - 1444 +1444
i2cset_main - 1239 +1239
i2cdetect_main - 611 +611
list_i2c_busses_and_exit - 532 +532
packed_usage 29975 30438 +463
i2cget_main - 380 +380
check_read_funcs - 140 +140
i2c_funcs_tab - 128 +128
confirm_action - 100 +100
i2c_dev_open - 57 +57
i2c_smbus_access - 44 +44
confirm_or_abort - 43 +43
check_funcs_test_end - 39 +39
i2c_smbus_read_word_data - 38 +38
i2c_smbus_read_byte_data - 38 +38
i2c_smbus_read_byte - 37 +37
i2c_set_slave_addr - 32 +32
applet_names 2480 2512 +32
adap_descs - 32 +32
i2c_set_pec - 29 +29
get_funcs_matrix - 21 +21
i2c_parse_data_addr - 18 +18
i2c_parse_bus_addr - 18 +18
i2c_bus_lookup - 18 +18
i2c_smbus_write_byte - 17 +17
applet_main 1440 1456 +16
will_skip - 14 +14
no_support - 11 +11
applet_nameofs 720 728 +8
applet_install_loc 180 182 +2
------------------------------------------------------------------------------
(add/remove: 26/0 grow/shrink: 5/0 up/down: 5601/0) Total: 5601 bytes
Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-02-10 03:16:25 +01:00
Micke Prag
07fa09a952
ubiattach: add option -O
...
Some images do not have the default VID offset. The option -O must
be used to attach such images.
Signed-off-by: Micke Prag <micke.prag@telldus.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2015-01-30 18:33:24 +01:00
Baruch Siach
ad0d009e0c
nanddump: don't show --bb in usage when disabled
...
The --bb options now depends on LONG_OPTS. Omit mentions of --bb from usage
text when LONG_OPTS is disabled.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-18 11:55:08 +01:00
Baruch Siach
e835afadfe
nandwrite: fix build when long options are disabled
...
The Required_argument macro is only defined when long options are enabled.
Fixes the following build error:
miscutils/nandwrite.c: In function 'nandwrite_main':
miscutils/nandwrite.c:120:10: error: expected ',' or ';' before 'Required_argument'
Reported-by: Christian Kästner <kaestner at cs.cmu.edu>
Signed-off-by: Baruch Siach <baruch at tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-17 17:02:37 +01:00
Jacob Kjaergaard
bd7c1f2d13
flashcp: change BUFSIZE to 4k
...
some flash partitions can be smaller than the existing BUFSIZE thus write
BUFSIZE will fail with "no space left on device"
Signed-off-by: Jacob Kjaergaard <jacob.kjaergaard@prevas.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-12-10 13:44:27 +01:00
Denys Vlasenko
476654cdbe
man: do not mangle $MANPATH in memory
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-11-30 19:39:58 +01:00
Denys Vlasenko
ee41094b80
man: accept a list of dirs in $MANPATH
...
function old new delta
add_MANPATH - 143 +143
man_main 852 731 -121
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 143/-121) Total: 22 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-11-27 00:40:08 +01:00
Denys Vlasenko
186b98a86f
ubiupdatevol: fix -t to not require an option. Closes 7466
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-25 22:10:32 +02:00
Aaro Koskinen
307d26c0eb
less: make -E work
...
function old new delta
buffer_print 71 104 +33
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-23 22:58:18 +02:00
Denys Vlasenko
865814a617
less: trivial code shrink
...
function old new delta
read_lines 715 695 -20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-22 21:17:24 +02:00
Denys Vlasenko
d6e7672545
less: move "retry-on-EAGAIN" logic closer to read ops
...
This makes "G" (goto end of input) command work as well as
/search_for_nonexistent_string: both will read to EOF now
even from somewhat slow input (such as kernel's "git log").
function old new delta
ndelay_on 35 43 +8
ndelay_off 35 43 +8
read_lines 695 691 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 16/-4) Total: 12 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-22 21:14:02 +02:00
Denys Vlasenko
15943c886d
less: disable "suppress empty wraparound" optimization
...
It is buggy wrt another use case...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-09-21 22:10:55 +02:00
Denys Vlasenko
f02c52bcde
taskset: fix logic error in "if it doesn't start with 0x..."
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-31 01:35:45 +02:00
Denys Vlasenko
962c4e8220
taskset: support CPU masks for more than 64 CPUs
...
function old new delta
taskset_main 522 631 +109
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-08-17 19:36:22 +02:00
Richard Genoud
2a870d091e
nanddump: change default to --bb=skipbad
...
since mtd-utils 1.4.7, the default behaviour of nanddump is skipbad
(commit 2521d4f1b6b9866a9c89f3c11a4f6a3d763ff1d7)
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-25 17:38:30 +02:00
Richard Genoud
8feb25956f
nanddump: kill -b Omit bad block
...
since mtd-utils 1.4.7, the omit bad block method has been removed.
(cf commit d8b8f780ec3c916f3990e9227d6bfbb22bf42ef8)
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-25 17:37:01 +02:00
Richard Genoud
f17fbe1d36
nanddump: add options --bb=skipbad and padbad
...
In mtd-utils, the bad block options changed in favor of
--bb=[skipbad|padbad|dumpbad] and omitbad has been removed.
This patch add the --bb=skipbad and padbad methods to busybox' nanddump.
padbad is the current default behaviour.
The difference between skipbad and omitbad is this one:
On a 16K block NAND, if the 1st block of mtd0 is bad, we'll have:
nanddump -b -l 16384 /dev/mtd0 | wc -c
0
nanddump --bb=skipbad -l 16384 /dev/mtd0 | wc -c
16384 <- data from 1st good block
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-25 17:37:01 +02:00
Richard Genoud
cbf3bfa57a
nanddump: correct rounding to next page (lead to infinite loop)
...
The rounding to next page formula was wrong:
ex: (len | ~(meminfo->writesize - 1)) + 1;
len=128K
writesize=4K
(len | ~(meminfo->writesize - 1)) + 1 => 4 294 963 201 ?!
correct rounding formula:
((len - 1) | (meminfo->writesize - 1)) + 1 => 128K
len = 130K
((len - 1) | (meminfo->writesize - 1)) + 1 => 132K
modprobe nandsim parts="20,20" badblocks="22,23"
without patch:
nanddump /dev/mtd1 | wc -c
[...] infinite loop
with the patch:
nanddump /dev/mtd1 | wc -c
327680
Signed-off-by: Richard Genoud <richard.genoud@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-06-25 16:37:37 +02:00
Denys Vlasenko
fe33683c8b
Fix compile failures
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-05-02 07:18:55 +02:00
Denys Vlasenko
43b8a1cc38
crond: implement "SHELL=prog" in crontab. Export LOGNAME as POSIX wants
...
function old new delta
fork_job 343 456 +113
load_crontab 688 777 +89
crond_main 1456 1434 -22
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 202/-22) Total: 180 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-30 17:38:27 +02:00
Denys Vlasenko
d5929d602e
crond: simplify logging code
...
Slight change in behavior: now -l 5 will enable the same messages
formerly only enabled for -d 5. (Old behavior was non-sensical).
function old new delta
reopen_logfile_to_stderr - 34 +34
log8 - 26 +26
log7 - 26 +26
log5 - 26 +26
load_crontab 706 688 -18
rescan_crontab_dir 157 137 -20
crond_main 1486 1456 -30
fork_job 389 343 -46
crondlog 108 38 -70
------------------------------------------------------------------------------
(add/remove: 4/0 grow/shrink: 0/5 up/down: 112/-184) Total: -72 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-30 14:49:52 +02:00
Denys Vlasenko
3dfe0ae5a8
libbb: make syslog level for bb_error_msg's configurable. use it in crond
...
function old new delta
bb_verror_msg 380 386 +6
syslog_level - 1 +1
crondlog 165 108 -57
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-30 14:48:28 +02:00
Denys Vlasenko
01a1a967c9
crond: tweak help text, make course less cryptic
...
function old new delta
packed_usage 29736 29740 +4
crond_main 1485 1486 +1
load_crontab 712 706 -6
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-30 14:47:28 +02:00
Denys Vlasenko
e152cb8189
adjtimex: make its help text and printed data a bit less cryptic
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-17 11:29:34 +02:00
Denys Vlasenko
69b114fb8a
less: fix bugs discovered with "git log -p | less -m" on kernel tree
...
function old new delta
read_lines 685 733 +48
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-04-13 16:02:59 +02:00
Denys Vlasenko
30f17e9556
man: default to ascii
...
Default to ascii instead of latin1. Otherwise man pages can be displayed
incorrectly. E.g. bullets show as "<B7>".
Signed-off-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-03-03 15:14:26 +01:00
Denys Vlasenko
640ce3de07
zcat: complain if input is not compressed
...
function old new delta
buffer_fill_and_print 178 191 +13
varvalue 735 743 +8
bbunpack 747 755 +8
open_zipped 85 89 +4
xmalloc_open_zipped_read_close 61 63 +2
get_addr_1 240 242 +2
fbsplash_main 1228 1230 +2
pstree_main 322 321 -1
builtin_type 121 119 -2
do_load 954 926 -28
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 7/3 up/down: 39/-31) Total: 8 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-02-02 02:06:38 +01:00
Denys Vlasenko
821e64316a
less: accept and ignore -s
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-22 16:36:22 +01:00
John Spencer
ff65061311
man: parse "DEFINE pager" in config
...
function old new delta
man_main 789 844 +55
Signed-off-by: John Spencer <maillist-busybox@barfooze.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2014-01-22 15:31:10 +01:00
Denys Vlasenko
327f550669
Use unsigned printf/scanf conversion where more appropriate
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-29 16:45:45 +01:00
Denys Vlasenko
9b2a9f0210
fix assorted unused code and wrong format specs found by cppchekc (bug 6716)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-29 16:43:33 +01:00
Denys Vlasenko
4d8ad381ab
devfsd: remove static variable
...
function old new delta
static.msg 4 - -4
get_uid_gid 114 107 -7
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-11) Total: -11 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-26 12:12:27 +01:00
Denys Vlasenko
2635369a92
rfkill: use new-style config/kbuild/applet
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-11-20 14:21:29 +01:00
Ryan Mallon
1d30b3f1f6
wall,crontab: use xopen_as_uid_gid()
...
This fixes a narrow security race in crontab.
function old new delta
xopen_as_uid_gid - 80 +80
seteuid - 64 +64
setegid - 64 +64
setreuid - 37 +37
xseteuid - 22 +22
xsetegid - 22 +22
crontab_main 590 577 -13
setfsuid 33 - -33
setfsgid 33 - -33
wall_main 138 102 -36
open_as_user 109 - -109
text data bss dec hex filename
893539 497 7568 901604 dc1e4 busybox_old
893618 497 7568 901683 dc233 busybox_unstripped
Signed-off-by: Ryan Mallon <rmallon@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-10-08 14:53:29 +02:00
Denys Vlasenko
cd256e1c40
wall: access FILE under real user's credentials
...
While at it, move applet/config/kbuild bits into wall.c.
(This way, it's more visible that applet is suid'ed).
function old new delta
wall_main 87 138 +51
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-10-06 15:14:25 +02:00
John Spencer
d6ae4fb446
man: find posix man pages
...
Add the 0p/1p/3p sections to the search.
Signed-off-by: John Spencer <maillist-busybox@barfooze.de>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2013-08-25 17:38:25 -04:00
Denys Vlasenko
a5e6c6cd3b
setsid: code shrink, expanded comments
...
function old new delta
setsid_main 56 53 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-07 18:49:51 +02:00
Paul B. Henson
985345d002
ubi_tools: fix typo in strcpy
...
Signed-off-by: Paul B. Henson <henson@acm.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 21:07:20 +02:00
Denys Vlasenko
cc1c9ca6f8
less: support "less 1<>TTY"
...
function old new delta
less_main 2466 2507 +41
xmalloc_ttyname 46 42 -4
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-08-04 17:41:19 +02:00
Bernhard Reutner-Fischer
0dacb68e1a
chrt: remove warning for _POSIX_PRIORITY_SCHEDULING
...
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-07-08 11:20:13 +02:00
Denys Vlasenko
e9b3fcc3e4
ubi_tools: enhance -s option to allow size multiplier to match mtd-utils
...
Based on patch by Paul B. Henson <henson@acm.org>
function old new delta
static.size_suffixes - 32 +32
ubi_tools_main 1141 1148 +7
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-30 02:47:45 +02:00
Denys Vlasenko
f798ba9717
ubi_tools: add forgotten argv++
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-30 02:46:44 +02:00
Denys Vlasenko
65bdf0b737
ubi_tools: extend supported volume size to 64 bits; shrink code
...
function old new delta
get_num_from_file - 90 +90
packed_usage 29395 29377 -18
ubi_tools_main 1349 1141 -208
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 90/-226) Total: -136 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-30 02:38:18 +02:00
Paul B. Henson
f86404f773
ubimkvol: add -m option to create volume of maximum size
...
Signed-off-by: Paul B. Henson <henson@acm.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-06-30 02:37:05 +02:00
Bernhard Reutner-Fischer
c608731e78
setserial: Fix typo: s/baund_rate/baud_rate/g
...
as noted by Christoph Handel opensource at macht-blau.org
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2013-03-22 17:04:51 +01:00
Alexander Shiyan
45dc96c8a6
flash_eraseall: implement -N
...
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-15 00:42:39 +01:00
Alexander Shiyan
0d61dcd641
nanddump: fix build if nandwrite isn't enabled
...
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-03-15 00:27:41 +01:00
Denys Vlasenko
6be6f3bfec
flashcp: trivial code shrink
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-28 12:26:29 +01:00
Denys Vlasenko
243e733001
flashcp: pad output to BUFSIZE. Hopefully closes 5882
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-23 11:41:22 +01:00
Denys Vlasenko
9daf33fc52
dc: code shrink
...
function old new delta
stack_machine 103 101 -2
operators 176 168 -8
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-18 13:30:13 +01:00
Denys Vlasenko
6830ade6aa
whitespace fixes. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2013-01-15 13:58:01 +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
Anthony G. Basile
12677acf0a
CONFIG_PID_FILE_PATH: new configuration option for pidfile paths
...
We set a default path for the directory where pidfiles are create
when FEATURE_PIDFILE is selected. The default has no effect on
applets which must specify a pidfile path on the command line to
run, and it can be overridden by applets which optionally allow
the user to specify the pidfile path.
We also add pidfile write/remove support for klogd, ntpd and watchdog.
For syslogd, we add a missing remove_pidfile() for better cleanup
on daemon exit.
Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-12-19 15:53:33 -05:00
Timo Teräs
67dc7b21ca
fbsplash: fix regression from e4fa7b7
...
commit e4fa7b7
(limit progress bar flicker) made the progress bar
counter unsigned causing i < 0 to never come true.
Signed-off-by: Timo Teräs <timo.teras@iki.fi>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-10-17 19:39:34 +02:00
Baruch Siach
3aeb870b22
nanddump: invert the meaning of the -o parameter to match upstream
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-10-15 14:32:23 +02:00
Baruch Siach
98f6b2d399
nanddump: skip bad blocks when instructed to do so
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-10-15 14:25:26 +02:00
Baruch Siach
da0200a1e5
nanddump: use the right operator of logic AND
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-10-15 14:21:45 +02:00
Manuel Zerpies
d109798882
flashcp: remove unused variable opts
...
Signed-off-by: Manuel Zerpies <manuel.f.zerpies@ww.stud.uni-erlangen.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-27 16:06:34 +02:00
Linus Walleij
6d463de46b
fbsplash: support non-RGB565 pixels in 16-bit mode
...
function old new delta
fbsplash_main 953 989 +36
fb_pixel_value 80 110 +30
Signed-off-by: Linus Walleij <triad@df.lth.se>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-09-06 16:52:31 +02:00
Mike Frysinger
c5fe9f7b72
include sys/resource.h where needed
...
We use functions from sys/resource.h in misc applets, but don't include
the header. This breaks building with newer glibc versions, so add the
include where needed.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2012-07-05 23:19:09 -04:00
Matt Reimer
6979325592
nanddump: make dumping read-only partitions work
...
Make dumping read-only partitions work by opening the device
O_RDONLY; otherwise the open() will fail with -EPERM.
Signed-off-by: Matt Reimer <mreimer@sdgsystems.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-13 02:39:22 +02:00
Denys Vlasenko
ba1d561d76
man: fix handling of gzipped manpages
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-06-08 10:22:05 +02:00
Denys Vlasenko
53772869bc
who,less: tweaked help text
...
function old new delta
packed_usage 29176 29173 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-04-17 16:11:25 +02:00
Denys Vlasenko
7fe1e3f161
ubi_tools: add workaround for bad kernel headers. Closes 4838
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-11 18:04:14 +01:00
Denys Vlasenko
59655077c5
preparatory cleanups for seamless uncompression improvements
...
unpack_gz_stream_with_info: fix buggy error check
man: fix possible accesses past the end of a string
move seamless uncompression helpers from read_printf.c to open_transformer.c
function old new delta
show_manpage 153 212 +59
unpack_gz_stream_with_info 520 539 +19
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-03-06 16:23:50 +01:00
Yin Kangkai
3ac066c256
fbsplash: use line_length instead of xres * bytes_per_pixel
...
In some system (e.g. my "strange" device), line_length is not equal xres *
bytes_per_pixel, so we need to use line_length in scr_fix to mmap and draw
rectangle etc.
My "strange" device output this:
bytes_per_pixel: 4
xres: 600, yres: 1024
yoffset: 0, xoffset: 0, line_length: 2432
G.addr: b74da000
Signed-off-by: Yin Kangkai <kangkai.yin@intel.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2012-02-29 18:07:59 +01:00
Daniel Fandrich
65a1ee956f
rx: fix file corruption on block checksum failure
...
Rather than dropping the bad block, rx was appending it
to the file.
Signed-off-by: Daniel Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-23 12:07:31 +01:00
Denys Vlasenko
f3efd3c2a0
rx: code shrink
...
function old new delta
rx_main 961 947 -14
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-03 10:19:53 +01:00
Dan Fandrich
f808e777db
rx: Fix file corruption with duplicate blocks
...
Rather than dropping the dupe, rx was appending it to the file.
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-11-03 10:18:33 +01:00
Denys Vlasenko
73d249e704
whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-28 14:07:44 +02:00
Peter Korsgaard
cd06e06eee
fbsplash: support 8bit mode
...
Fake truecolor support using a RGB:332 palette.
function old new delta
fb_setpal - 172 +172
fbsplash_main 920 953 +33
fb_pixel_value 50 80 +30
fb_write_pixel 47 51 +4
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 3/0 up/down: 239/0) Total: 239 bytes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-17 05:31:52 +02:00
Peter Korsgaard
e4fa7b7965
fbsplash: limit progress bar flicker
...
Progress bar updates flicker quite a bit on slow hw / high resolutions
as the background is completely cleared before the new progress bar
position is drawn on top.
Improve it by first drawing the progress bar and then only fill the
remaining rows with the background.
function old new delta
fb_drawprogressbar 444 429 -15
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-17 04:35:23 +02:00
Flemming Madsen
ecccbac37b
inotify: if PROG is -, print events to stdout
...
function old new delta
inotifyd_main 516 589 +73
packed_usage 28698 28709 +11
Signed-off-by: Flemming Madsen <busybox@themadsens.dk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-10-10 20:24:02 +02:00
Denys Vlasenko
d184a728cf
rename archive.h to bb_archive.h. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-22 12:45:14 +02:00
Denys Vlasenko
16714245f9
add INIT_G()'s. No code changes.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-21 01:59:15 +02:00
Pascal Bellard
f9e07e70bb
conspy: add framebuffer support, -Q option.
...
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-13 18:39:04 +02:00
Denys Vlasenko
8c84f7545c
crond: fix the case when option -d is disabled
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-09-07 05:56:09 +02:00
Denys Vlasenko
24915117a2
Fixes for warnings in FreeBSD build
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-28 05:31:49 +02:00
Denys Vlasenko
4f54168ea2
less: fix for screen size detection
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-16 01:53:12 +02:00
Denys Vlasenko
c97578de6b
conspy,nandwrite,nanddump: enable in defconfig
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-08-13 09:00:29 +02:00
Denys Vlasenko
2ef4214dd9
less: add a TODO comment
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-25 15:23:52 +02:00
Denys Vlasenko
4e552a70ec
less: optionally query terminal size via "ESC [ 6 n". Closes bug 2659.
...
+7 bytes is not selected, +100 if selected.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-25 15:18:20 +02:00
Denys Vlasenko
f2f9bc5932
dc: fix a case where we can run off malloced space
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-15 08:37:36 +02:00
Denys Vlasenko
8f6ce094dc
a few tweaks for bionic
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-08 08:34:28 +02:00
Dan Fandrich
b5de0c12d6
typo fixes
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-07-08 05:47:49 +02:00
Dan Fandrich
040b5a2e29
setserial: added missing \n in help text
...
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-06-20 10:22:18 +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
Bernhard Reutner-Fischer
14f55538f0
makedevs: fix help-text
...
pull
http://git.buildroot.net/buildroot/commit/?id=99ead3c2ead605d6504b9abad111778dc2a93ae6
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2011-05-30 23:00:47 +02:00
Denys Vlasenko
6afc6775e8
dc: do not advertise ops disabled in .config
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-16 00:13:18 +02:00
Denys Vlasenko
60a9414cad
fix "variable 'foo' set but not used" warnings
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-13 20:57:01 +02:00
Denys Vlasenko
90ea1e3454
setserial: small fix
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-02 02:47:25 +02:00
Marek Bečka
2cfb57647b
setserial: new applet
...
text data bss dec hex filename
873605 493 7584 881682 d7412 busybox_old
876354 493 7584 884431 d7ecf busybox_unstripped
Signed-off-by: Marek Bečka <yuen@klacno.sk>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-05-01 14:38:31 +02:00
Denys Vlasenko
d1993f180c
rename miscutils/ubi_attach_detach.c -> miscutils/ubi_tools.c
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 04:32:05 +02:00
Denys Vlasenko
0bfb9c2cf0
add help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 04:31:03 +02:00
Reuben Dowle
a610842322
ubiupdatevol: new applet
...
ubi_tools_main 658 1046 +388
packed_usage 28274 28304 +30
applet_names 2396 2409 +13
applet_main 1396 1400 +4
applet_nameofs 698 700 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 5/0 up/down: 437/0) Total: 437 bytes
Signed-off-by: Reuben Dowle <Reuben.Dowle@navico.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 04:27:48 +02:00
Reuben Dowle
ab940af5c0
Fix ubirsvol usage information
...
The usage information for the ubirsvol applet is incorrect. This fixes the mistake.
Signed-off-by: Reuben Dowle <Reuben.Dowle@navico.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-26 03:43:25 +02:00
Pascal Bellard
6161cdbb83
conspy: fix ESC key lost
...
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11 03:52:53 +02:00
Pere Orga
5bc8c005a8
move remaining help text from include/usage.src.h
...
Signed-off-by: Pere Orga <gotrunks@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-04-11 03:29:49 +02:00
Nuno Lucas
0e89fd9c39
fbsplash: Add support for 24 and 32 bit color depth
...
function old new delta
fb_drawprogressbar 372 447 +75
fb_pixel_value - 50 +50
fb_write_pixel - 47 +47
fbsplash_main 889 920 +31
fb_drawfullrectangle 101 131 +30
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/0 up/down: 233/0) Total: 233 bytes
Signed-off-by: Nuno Lucas <ntlucas@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-28 15:30:59 +02:00
Denys Vlasenko
681efe20d3
use user's shell instead of hardwired "/bin/sh" (android needs this)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-03-08 21:00:36 +01:00
Denys Vlasenko
e3b1a1fd28
Replace "depends on PLATFORM_LINUX" with "select PLATFORM_LINUX"
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-26 22:24:08 +01:00
Mike Frysinger
ca18e25525
runlevel/wall: depend on utmp feature
...
These utils use funcs from utmp.h (like setutent), but utmp.h is only
included when FEATURE_UTMP is enabled. Otherwise we get build failures
due to missing defines/prototypes. So depend on this option.
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2011-02-06 12:29:25 -05:00
Dan Fandrich
07078c2966
Let fbsplash display images even when a second buffer is active
...
If a previous application uses double buffering and makes the
second buffer visible, fbsplash's images (written to the first
buffer) otherwise won't be visible.
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-05 03:34:52 +01:00
Reuben Dowle
3e2834fe72
ubimkvol,ubirmvol,ubirsvol: new applets
...
function old new delta
ubi_tools_main - 658 +658
packed_usage 28269 28376 +107
bbconfig_config_bz2 4968 5007 +39
applet_names 2407 2434 +27
applet_main 1396 1408 +12
applet_nameofs 698 704 +6
applet_install_loc 175 176 +1
ubi_attach_detach_main 175 - -175
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 6/0 up/down: 850/-175) Total: 675 bytes
Signed-off-by: Reuben Dowle <reuben.dowle at navico.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-05 03:18:08 +01:00
Denys Vlasenko
099e528919
ps: implement -o stat
...
function old new delta
func_stat - 24 +24
out_spec 300 320 +20
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-02-02 00:59:35 +01:00
Denys Vlasenko
8d0e0cdadf
move utmp.h include to libbb.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-25 23:21:46 +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
3b5acaa432
disable automatic selection of FEATURE_SUID; improve its help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2011-01-18 13:52:48 +01:00
Denys Vlasenko
1393fc1161
chrt: -m can be used without any arguments. Closes bug 2989
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-19 04:07:50 +01:00
Denys Vlasenko
96c8a6b5ea
chrt: correct opt_complementary. Closes bug 2977
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-18 02:59:09 +01:00
Denys Vlasenko
a3aea32811
chat: fix build breakage (variable declared in for())
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-12-18 01:42:50 +01:00
Denys Vlasenko
833d4e7f84
rename archival/libunarchive -> archival/libarchive; move bz/ into it
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-11-03 02:38:31 +01:00
Denys Vlasenko
fb132e4737
whitespace cleanup
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-29 11:46:52 +02:00
Denys Vlasenko
caddfc8339
decompress_bunzip2: handle concatenated .bz2 files
...
function old new delta
unpack_bz2_stream 207 307 +100
start_bunzip 199 209 +10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 110/0) Total: 110 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-28 23:08:53 +02:00
Marek Polacek
7b18107384
*: use _exit() in sighandlers; showkey: do not use exit-thru-sighandler
...
While at it, make ESC sequences more readable; and removed check for
isatty(stdin) in reset. Code shrink:
text data bss dec hex filename
884771 936 17216 902923 dc70b busybox_old
884723 936 17216 902875 dc6db busybox_unstripped
Signed-off-by: Marek Polacek <mmpolacek@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-28 21:34:56 +02:00
Denys Vlasenko
e4dcba1c10
*: whitespace fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-28 18:57:19 +02:00
Denys Vlasenko
9ce642f974
libbb: introduce and use common crc32 routine
...
function old new delta
crc32_block_endian1 - 37 +37
crc32_block_endian0 - 34 +34
global_crc32_table - 8 +8
file_read 82 87 +5
gzip_main 211 214 +3
xz_crc32 40 35 -5
crc32_table 8 - -8
calculate_gunzip_crc 54 34 -20
lzo_crc32 54 25 -29
cksum_main 298 211 -87
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/4 up/down: 87/-149) Total: -62 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-27 15:26:45 +02:00
Denys Vlasenko
bec588878b
*: s/open3_or_warn/open_or_warn/ where makes sense
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-20 13:21:22 +02:00
Baruch Siach
d982da79de
nanddump: make oobbuf allocation dynamic
...
In accordance with upstream mtd-utils commit 96a5eeaf (mtd-utils: nanddump:
Dynamic buffer, increase pagesize/oobsize).
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-18 15:34:58 +02:00
Baruch Siach
36af2f7977
nanddump: new applet
...
function old new delta
nandwrite_main 418 936 +518
dump_bad - 119 +119
packed_usage 27752 27810 +58
next_good_eraseblock 84 106 +22
applet_names 2366 2375 +9
applet_main 1380 1384 +4
applet_nameofs 690 692 +2
bbconfig_config_bz2 4932 4922 -10
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 6/1 up/down: 732/-10) Total: 722 bytes
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-18 02:36:34 +02:00
Denys Vlasenko
d4d289acf5
tweaks to build system, mainly making menuconfig text and order clearer
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-10-12 04:18:05 +02:00
Denys Vlasenko
9a1b260547
man: add compatibility with man-db
...
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-10-04 14:19:59 +02:00
Denys Vlasenko
8d3e225a2d
libbb: add xfstat function
...
function old new delta
xfstat - 25 +25
mkfs_ext2_main 2421 2423 +2
mkfs_reiser_main 1197 1194 -3
next 312 307 -5
ar_main 533 522 -11
mkfs_minix_main 2938 2924 -14
mkfs_vfat_main 1511 1495 -16
writeTarFile 272 255 -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/6 up/down: 27/-66) Total: -39 bytes
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-31 12:42:06 +02:00
Denys Vlasenko
9ce07e778f
bbconfig: add COMPRESS_BBCONFIG option
...
function old new delta
bbconfig_config_bz2 - 4905 +4905
bbconfig_main 13 70 +57
bbconfig_config 21811 - -21811
------------------------------------------------------------------------------
(add/remove: 1/1 grow/shrink: 1/0 up/down: 4962/-21811) Total: -16849 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 14:36:11 +02:00
Baruch Siach
7715b48c36
nandwrite: always check the first erase block
...
Current code does not check the first erase block when mtdoffset is not erase
block aligned. Fix this.
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 13:30:22 +02:00
Denys Vlasenko
b32a543663
nandwrite: complain on malformed -s NUM
...
Elsewhere: use common error message. -30 bytes net size change
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 13:29:02 +02:00
Baruch Siach
a78227dc73
nandwrite: allow hex values in the -s parameter
...
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-29 13:15:57 +02:00
Baruch Siach
6f32ea4039
nandwrite: new applet
...
function old new delta
nandwrite_main - 382 +382
packed_usage 27119 27135 +16
applet_names 2275 2285 +10
applet_main 1340 1344 +4
applet_nameofs 670 672 +2
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 4/0 up/down: 414/0) Total: 414 bytes
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
2010-08-25 16:36:17 +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
9768a82eb0
*: fix "see file License ..." - the file is named LICENSE (in uppercase)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-08-16 03:04:14 +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
Jeremie Koenig
5a71fb8202
less: remove misguided dependency on PLATFORM_LINUX
...
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-30 01:15:46 +02:00
Denys Vlasenko
506d3a9bca
dc: tweak help text
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-29 04:06:07 +02:00
Denys Vlasenko
7a07b0ee6a
dc: make it use long longs for integer ops
...
function old new delta
print_base 176 238 +62
or 91 103 +12
eor 91 103 +12
and 91 103 +12
not 60 64 +4
mod 103 105 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 6/0 up/down: 104/0) Total: 104 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-29 04:00:27 +02:00
Denys Vlasenko
416f0405cb
less: fix duplicate "depends on PLATFORM_LINUX". no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-29 02:26:22 +02:00
Denys Vlasenko
f3ea792bad
*: mass cosmetic removal of extra empty lines. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-26 01:06:14 +02:00
Jeremie Koenig
1d7266d3b5
mark Linux-specific configuration options
...
PLATFORM_LINUX is used as a dependency for applets or features
which require Linux-specific interfaces.
Signed-off-by: Jeremie Koenig <jk@jk.fr.eu.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-19 00:44:56 +02:00
Denys Vlasenko
6ac37da425
build system: disable some applets by default
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-14 08:33:20 +02:00
Denys Vlasenko
69d69e2cb8
crond: mention other cronds' behavior in comment. no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-11 23:20:15 +02:00
Denys Vlasenko
1f0ab1dc64
crond: code shrink
...
function old new delta
crond_main 1431 1472 +41
fork_job 457 389 -68
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-08 16:12:10 +02:00
Denys Vlasenko
45963c873c
crond: rename HumpBack names. Note two TODOs/FIXMEs
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-08 15:37:10 +02:00
Denys Vlasenko
dfc870fab7
crond: check mtime on crontab dir every minute, and reread if changed
...
function old new delta
crond_main 1417 1460 +43
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-07-08 04:07:54 +02:00