Commit Graph

613 Commits

Author SHA1 Message Date
Denys Vlasenko
f2c16edf99 sed: fix nested {} case
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-20 04:00:03 -04:00
Denys Vlasenko
96a1833231 sed: fix c cmd
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-19 22:36:07 -04:00
Denys Vlasenko
c175c46647 vi: discover window size even on serial consoles. optional
function                                             old     new   delta
edit_file                                            671     761     +90
wh_helper                                              -      57     +57
query_screen_dimensions                               54      63      +9
ar_main                                              533     542      +9
refresh                                              767     773      +6
vi_main                                              242     243      +1
text_yank                                             56      54      -2
get_terminal_width_height                            180     135     -45
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/2 up/down: 172/-47)           Total: 125 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-18 22:09:30 -07:00
Denys Vlasenko
def4783a8a vi: remove superfluous check on filename == ""
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-18 20:39:41 -07:00
Denys Vlasenko
04cecd5e61 vi: code shrink
function                                             old     new   delta
vi_main                                              250     242      -8
colon                                               2980    2970     -10
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-18)             Total: -18 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-16 22:13:55 -07:00
Denys Vlasenko
2bb651ae10 vi: code shrink; save/restore errno in signal handlers
function                                             old     new   delta
query_screen_dimensions                                -      54     +54
suspend_sig                                           50      64     +14
cont_sig                                              65      66      +1
catch_sig                                             42      32     -10
winch_sig                                             88      60     -28
edit_file                                            719     671     -48
refresh                                              848     767     -81
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/4 up/down: 69/-167)           Total: -98 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-16 20:55:52 -07:00
Denys Vlasenko
7379cd1ca1 awk: add comment about fixing bug 1333
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-04 01:48:12 +02:00
Denys Vlasenko
fab288cf0b awk: don't append bogus data after NUL in sub(); shrink
also renamed variables to more sensible names

function                                             old     new   delta
mk_re_node                                            56      49      -7
awk_sub                                              601     591     -10

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-04-04 01:17:30 +02:00
Denys Vlasenko
35fdb1bc9c vi: fix NUM + "$" handling
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-26 16:10:14 +01:00
Denys Vlasenko
f9782ffc45 awk: code shrink
function                                             old     new   delta
evaluate                                            3550    3487     -63

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-12 21:32:13 +01:00
Denys Vlasenko
c6ba997978 awk: code shrink
function                                             old     new   delta
hash_find                                            233     234      +1
evaluate                                            3899    3550    -349

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-12 21:05:09 +01:00
Denys Vlasenko
7b81db1379 awk: style fixes
function                                             old     new   delta
hash_find                                            234     233      -1
awk_printf                                           457     453      -4

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-12 21:04:47 +01:00
Denys Vlasenko
39fe4d1599 awk: code shrink
function                                             old     new   delta
exec_builtin                                        1538    1489     -49

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-12 16:57:06 +01:00
Denys Vlasenko
58f108eb33 lineedit: fix another corner case with bad unicode input
function                                             old     new   delta
read_key                                             607     646     +39
readit                                                50      55      +5
getch_nowait                                         290     295      +5
hash_find                                            233     234      +1
xstrtoul_range_sfx                                   231     230      -1
passwd_main                                         1058    1056      -2
builtin_exit                                          45      43      -2
cmp_main                                             649     645      -4
lineedit_read_key                                    257     245     -12
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/5 up/down: 50/-21)             Total: 29 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-11 21:17:55 +01:00
Denys Vlasenko
b0a57abb79 awk: code shrink
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-11 12:44:25 +01:00
Denys Vlasenko
6ebdf7aa7b awk: code shrink; style fixes
function                                             old     new   delta
next_token                                           932     862     -70

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-11 12:41:55 +01:00
Denys Vlasenko
da62b09ab1 awk: be more paranoid when freeing loop variable; make code less obfuscated
function                                             old     new   delta
nvfree                                               149     170     +21
next_token                                           928     932      +4
getvar_i                                              95      94      -1
skip_spaces                                           51      45      -6
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 25/-7)              Total: 18 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-11 12:13:18 +01:00
Denys Vlasenko
c9955f23a2 awk: simple code shrink
function                                             old     new   delta
awk_getline                                          710     724     +14
awk_printf                                           455     457      +2
hash_find                                            234     233      -1
qrealloc                                              33      31      -2
handle_special                                       499     482     -17
awk_sub                                              641     601     -40
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/4 up/down: 16/-60)            Total: -44 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-10 19:21:54 +01:00
Denys Vlasenko
3cb60c3973 awk: fix the case where nested "for" loops with the same variable misbehave
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-03-10 19:20:32 +01:00
Alexander Shishkin
d03cd3be24 awk: skip whitespace between array name and subscript
It is supported in both mawk and gawk and there are actually scripts
out there that use this "flexibility".

function                                             old     new   delta
next_token                                          1144    1152      +8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 8/0)                 Total: 8 bytes

Signed-off-by: Alexander Shishkin <virtuoso@slind.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-26 08:48:56 +01:00
Denys Vlasenko
3dbc5a9742 awk: remove wrong comment
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-05 14:54:22 +01:00
Denys Vlasenko
98a4c7cf3d *: suppress ~60% of "aliased warnings" on gcc-4.4.1
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 15:00:15 +01:00
Dan Fandrich
1821d188ca diff: more compiler compat fixes. no code changes
Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 04:04:56 +01:00
Dan Fandrich
f111b67100 diff: make code more portable
function                                             old     new   delta
create_J                                            1835    1849     +14
diffreg                                             1268    1255     -13

Signed-off-by: Dan Fandrich <dan@coneharvesters.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-02-04 00:10:30 +01:00
Denys Vlasenko
6b9f163353 *: style fixes. no code changes (verified with objdump)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-28 02:24:24 +01:00
Denys Vlasenko
3581c62515 whitespace fixes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-25 13:39:24 +01:00
Denys Vlasenko
8b8d32ea56 patch: accept and ignore -g NUM
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-22 05:10:33 +01:00
Matheus Izvekov
6f99c91e43 diff: fix flag -B, cleanups and a couple more tests V2
function                                             old     new   delta
diffreg                                             1157    1268    +111
uni_range                                             51       -     -51

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-22 04:20:16 +01:00
Denys Vlasenko
feadfe742a patch: add more long opts; but remove -g for now
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-22 04:17:07 +01:00
Denys Vlasenko
94ca6943bc *: small code shrinks and compile fix for unicode
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:51:09 +01:00
Matheus Izvekov
2e5fa4a69d patch: ignore flag -g. +22 bytes
Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:46:39 +01:00
Matheus Izvekov
94a6fd1eeb diff: don't exit in case we can't open input files. -2 bytes
>>From d4cf19d20596bca797d58563f4404cf6a4932977 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 23:27:56 -0200
Subject: [PATCH] diff: don't exit in case we can't open input files

This prevents recursion being aborted due to failures to open files.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:46:14 +01:00
Matheus Izvekov
404f14407c diff: don't use FILE_and_pos_t where it's not needed. -31 bytes
>>From 3ead41fc3cbdd904e478ff7a710f5960c8ed4288 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 22:14:46 -0200
Subject: [PATCH] diff: don't use FILE_and_pos_t where it's not needed. -31 bytes

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:46:01 +01:00
Matheus Izvekov
4de4cb6b9b diff: correct handling of labels. -10 bytes
>>From 05eeb173f0431b4fbed7684d7a9cea42f747f63e Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 20:33:55 -0200
Subject: [PATCH] diff: correct handling of labels

This fixes an issue where diff would apply labels to files in the
inverse order, when using -L or --label.
This fixes it in order to be compatible with gnu diff.
It also makes it not an error to specify more than one label.
The behavior for such cases is that they override the label for the new
file.

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:45:45 +01:00
Matheus Izvekov
b32aa0c274 diff: support long options
>>From 7b74284ebe6222cb714c37cdbb94633965f29e9b Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 18:36:52 -0200
Subject: [PATCH] diff: support long options

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:45:23 +01:00
Matheus Izvekov
fe1ce2e43e diff: implement flag -B (Ignore changes whose lines are all blank)
>>From 7c3ce93213590bd0592435dc27d1272d0fd3309b Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 15:52:31 -0200
Subject: [PATCH] diff: implement flag -B (Ignore changes whose lines are all blank)

function                                             old     new   delta
diffreg                                             1196    1240     +44
.rodata                                             6538    6561     +23
packed_usage                                         457     478     +21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 88/0)               Total: 88 bytes
   text	   data	    bss	    dec	    hex	filename
  70123	    733	   8576	  79432	  13648	busybox_old
  70190	    733	   8576	  79499	  1368b	busybox_unstripped

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:45:05 +01:00
Matheus Izvekov
b7a044043c diff: honor flag -i (ignore case differences)
>>From 503a1e1d2597f7cdf86a9ea39ebd2aee050ca759 Mon Sep 17 00:00:00 2001
From: Matheus Izvekov <mizvekov@gmail.com>
Date: Mon, 18 Jan 2010 14:06:26 -0200
Subject: [PATCH] diff: honor flag -i (ignore case differences)

function                                             old     new   delta
read_token                                           157     178     +21
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/0 up/down: 21/0)               Total: 21 bytes
   text	   data	    bss	    dec	    hex	filename
  70102	    733	   8576	  79411	  13633	busybox_old
  70123	    733	   8576	  79432	  13648	busybox_unstripped

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:44:44 +01:00
Denys Vlasenko
9e0879a1cb diff: add NOINLINE
function                                             old     new   delta
create_J                                               -    1805   +1805
diffreg                                             3159    1176   -1983
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 1805/-1983)       Total: -178 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 06:15:57 +01:00
Denys Vlasenko
032bf65533 diff: defeat gcc's optimization
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 05:22:34 +01:00
Matheus Izvekov
d4a7728dc3 diff: rewrite. much smaller and more correct
function                                             old     new   delta
diffreg                                             1815    3156   +1341
diff_main                                            860    1194    +334
read_token                                             -     161    +161
skip_dir                                               -      44     +44
seek_ft                                                -      31     +31
fetch                                                362     392     +30
line_compar                                            -      21     +21
add_to_dirlist                                        65      61      -4
print_only                                            16       -     -16
skipline                                              51       -     -51
newcand                                               85       -     -85
asciifile                                             89       -     -89
print_status                                         178      73    -105
make_temp                                            148       -    -148
files_differ                                         168       -    -168
get_recursive_dirlist                                182       -    -182
sort                                                 226       -    -226
prepare                                              283       -    -283
change                                               283       -    -283
do_diff                                              416       -    -416
dump_unified_vec                                     457       -    -457
check                                               1512     595    -917
------------------------------------------------------------------------------
(add/remove: 4/12 grow/shrink: 3/3 up/down: 1962/-3430)     Total: -1468 bytes

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 04:57:17 +01:00
Denys Vlasenko
9037787eae *: fix places where we were still using malloc/realloc
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-08 09:07:50 +01:00
Denys Vlasenko
a3aa3e3095 wget: check for close success; fix chunked; do not bother to send QUIT to ftp
Also, random fixes to use %u for unsigned quantities. -14 bytes in wget.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-12-11 12:36:10 +01:00
Denys Vlasenko
1284774d60 awk: fix an incorrect casting to string (bug 725). -44 bytes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-30 01:15:04 +01:00
Denys Vlasenko
cdeda16ee4 awk: preparatory patch, no essential code changes. -13 bytes.
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-30 01:14:16 +01:00
Denys Vlasenko
c270454f8f fix fallout from isprint() changes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-20 19:14:19 +01:00
Denys Vlasenko
8684cbb5cc libbb: robustify isXXXX(). +39 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-18 11:34:43 +01:00
Denys Vlasenko
a7ccdeef39 libbb: added xfdopen_for_read/write
function                                             old     new   delta
xfdopen_helper                                         -      40     +40
logdir_open                                         1163    1184     +21
process_stdin                                        433     443     +10
xfdopen_for_write                                      -       9      +9
doCommands                                          2465    2474      +9
patch_main                                          1214    1222      +8
bbunpack                                             457     465      +8
xfdopen_for_read                                       -       7      +7
scan_tree                                            258     262      +4
xstrtoul_range_sfx                                   230     231      +1
sendmail_main                                        957     955      -2
passwd_main                                         1027    1023      -4
parse                                                969     964      -5
test_main                                            253     247      -6
sed_main                                             655     649      -6
dos2unix_main                                        437     429      -8
fbsplash_main                                        950     938     -12
handle_dir_common                                    371     354     -17
expand_vars_to_list                                 2197    2169     -28
update_passwd                                       1275    1246     -29
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 7/10 up/down: 117/-117)           Total: 0 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-15 23:28:11 +01:00
Denys Vlasenko
5799248976 sed: on output file, set not only mode, but owner too
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:09:07 +01:00
Denys Vlasenko
6331cf059c *: use "can't" instead of "cannot"
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-13 09:08:27 +01:00
Denys Vlasenko
8131eea3dc *: introduce and use ffulsh_all()
function                                             old     new   delta
buffer_fill_and_print                                179     196     +17
fflush_all                                             -       9      +9
spawn                                                 87      92      +5
rtcwake_main                                         455     453      -2
...
alarm_intr                                            93      84      -9
readcmd                                             1072    1062     -10
bb_ask                                               345     333     -12
more_main                                            845     832     -13
flush_stdout_stderr                                   42      23     -19
xfflush_stdout                                        27       -     -27
flush_stderr                                          30       -     -30
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 2/50 up/down: 31/-397)         Total: -366 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-11-02 14:19:51 +01:00