Commit Graph

11036 Commits

Author SHA1 Message Date
Denys Vlasenko
9f93d62192 libbb: better unicode width support. Hopefully fixes bug 839.
Also opens up a possibility to make other unicode stuff smaller
and more correct later. but:

function                                             old     new   delta
static.combining                                       -     516    +516
bb_wcwidth                                             -     328    +328
unicode_cut_nchars                                     -     141    +141
mbstowc_internal                                       -      93     +93
in_table                                               -      78     +78
cal_main                                             899     961     +62
static.combining0x10000                                -      40     +40
unicode_strlen                                         -      31     +31
bb_mbstrlen                                           31       -     -31
bb_mbstowcs                                          173     102     -71
------------------------------------------------------------------------------
(add/remove: 7/1 grow/shrink: 1/1 up/down: 1289/-102)        Total: 1187 bytes

Uses code of Markus Kuhn, which is in public domain:
http://www.cl.cam.ac.uk/~mgk25/ucs/wcwidth.c
"Permission to use, copy, modify, and distribute this software
 for any purpose and without fee is hereby granted. The author
 disclaims all warranties with regard to this software."

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-24 07:44:03 +01:00
Denys Vlasenko
5da9f96ad8 date: introduce FEATURE_DATE_COMPAT; shrink
function                                             old     new   delta
date_main                                            889     862     -27

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-23 23:37:52 +01:00
Bernhard Reutner-Fischer
dfd38a480b ping: use ICMP_MINLEN
no code changes

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
2010-01-23 12:53:40 +01:00
Michael Grzeschik
24dc9ab2f4 fbset: add possibility to set timing and sync polarity
function                                             old     new   delta
copy_changed_values                                    -      48     +48
copy_if_gt0                                            -      27     +27
fbset_main                                          1268    1235     -33
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 0/1 up/down: 75/-33)             Total: 42 bytes

Signed-off-by: Michael Grzeschik <m.grzeschik@pengutronix.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-23 03:40:28 +01:00
Denys Vlasenko
9882b34fe2 chown: -2 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-23 00:13:32 +01:00
Matheus Izvekov
31416d589e chown: support long options
function                                             old     new   delta
chown_longopts                                         -      81     +81
chown_main                                           182     192     +10

Signed-off-by: Matheus Izvekov <mizvekov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-23 00:10:40 +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
Mikhail Gusarov
0d478334b3 tar: handle -m (--touch) switch, enabled by FEATURE_TAR_NOPRESERVE_TIME
function                                             old     new   delta
.rodata                                             2731    2779     +48
usage_messages                                       432     471     +39
tar_main                                             603     614     +11
tar_longopts                                         211     219      +8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 106/0)             Total: 106 bytes

Signed-off-by: Mikhail Gusarov <dottedmag@dottedmag.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-20 02:47:37 +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
302af9e3d1 watch: compat: use stderr to determine screen dimensions
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-19 02:26:38 +01:00
Denys Vlasenko
7be97c5b6b ls: fix sort of very large files. +21 byte
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 13:02:27 +01:00
Denys Vlasenko
573ba4e92e fix examples which used non-standard cut -b0-NNN
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 12:25:09 +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
Stefan Seyfried
f3fc9ac166 ftpd: conditional support for broken clients
Signed-off-by: Stefan Seyfried <stefan.seyfried@googlemail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 02:08:30 +01:00
Denys Vlasenko
9c3b84a304 ls: make it so that group never glues itself to file size
+ smaller enhancements: inode is long long; -h is a bit narrower; etc

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 01:55:00 +01:00
Denys Vlasenko
b972f94957 diff: add more tests
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-18 01:04:20 +01:00
Denys Vlasenko
33f9dc08e5 ftpd: code shrink
function                                             old     new   delta
MMU:
handle_dir_common                                    354     338     -16
NOMMU:
ftpd_main                                           2437    2442      +5
popen_ls                                             201     174     -27

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-17 22:32:22 +01:00
Denys Vlasenko
96a6bdcb77 bunzip2.tests: replace $? with \$?
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-17 19:08:39 +01:00
Denys Vlasenko
57f46c1afd ntpd: remove some code which is at best unneeded and at worst wrong
function                                             old     new   delta
step_time                                            246     256     +10
ntpd_main                                            855     844     -11
update_local_clock                                   767     714     -53

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-17 03:01:15 +01:00
Denys Vlasenko
9b20adca4b ntpd: add anti-clock-hopping code
function                                             old     new   delta
select_and_cluster                                   837     950    +113
update_local_clock                                   759     767      +8
root_distance                                         61       -     -61

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-17 02:51:33 +01:00
Denys Vlasenko
5b9a910749 ntpd: disable frequency estimation code
function                                             old     new   delta
reset_peer_stats                                     164     168      +4
ntp_init                                             371     368      -3
recv_and_process_peer_pkt                            869     852     -17
update_local_clock                                   823     759     -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 4/-84)             Total: -80 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-17 01:05:58 +01:00
Denys Vlasenko
e208279722 fix testing of busybox "applet" itself
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-16 02:49:40 +01:00
Denys Vlasenko
1e9bc2603d cp: improve test coverage
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-16 02:27:31 +01:00
Denys Vlasenko
d084cb9dc7 trim usage text a bit; fix cp usage (meaning of -H option)
function                                             old     new   delta
packed_usage                                       26596   26540     -56

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-15 22:30:30 +01:00
Denys Vlasenko
a40f0624db cp: fix -H handling
function                                             old     new   delta
copy_file                                           1495    1518     +23

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-15 22:05:07 +01:00
Denys Vlasenko
662078f9fd small doc update
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-14 13:27:34 +01:00
Denys Vlasenko
60b9524bf7 whitespace fix
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-14 01:11:54 +01:00
Denys Vlasenko
bb16f57e5d INSTALL: update obsolete doc, as suggested by Doug Clapp (doug.clapp AT triad.rr.com)
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 22:43:13 +01:00
Denys Vlasenko
4fc82e0067 examples: add example ntpd service
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 22:07:34 +01:00
Denys Vlasenko
c041e239db fix configure sha256sum problem. Closes bug 895
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 18:55:37 +01:00
Denys Vlasenko
85d286efc8 ash: remove config items for read options which are no longer optional
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 18:31:29 +01:00
Denys Vlasenko
25d9b91d94 shell/read: check that variable names are sane
function                                             old     new   delta
shell_builtin_read                                  1000    1055     +55
parse_command                                       1460    1463      +3
builtin_umask                                        121     123      +2
is_well_formed_var_name                               73      66      -7

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 18:22:35 +01:00
Denys Vlasenko
03d81ef43a builtin_read: note about better implementation
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-13 14:53:49 +01:00
Denys Vlasenko
03dad22f8a hush: use ash's read builtin
function                                             old     new   delta
shell_builtin_read                                     -    1000   +1000
set_local_var_from_halves                              -      24     +24
setvar2                                                -       7      +7
...
popstring                                            140     134      -6
ash_main                                            1375    1368      -7
setvar                                               184     174     -10
arith_set_local_var                                   36       -     -36
builtin_read                                        1096     185    -911
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 5/23 up/down: 1038/-1007)        Total: 31 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 23:29:57 +01:00
Denys Vlasenko
045f4ad92c shell/read: fix "'read' without parameters" bash compat thingy
previous change:

function                                             old     new   delta
builtin_read                                          82    1074    +992
popstring                                            134     140      +6
readcmd                                             1034     148    -886
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 998/-886)          Total: 112 bytes

this change:

builtin_read                                        1074    1096     +22
static.arg_REPLY                                       8       -      -8
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/0 up/down: 22/-8)              Total: 14 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 22:12:10 +01:00
Denys Vlasenko
7306727d1b shell: split read builtin from ash
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 22:11:24 +01:00
Denys Vlasenko
6c93b24ce9 hush: fix potential buffer overflow on NOMMU
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 19:28:10 +01:00
Denys Vlasenko
e89a241b9e hush: fix subshell.tests failure on NOMMU
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 15:19:31 +01:00
Denys Vlasenko
f3ec0fb1b4 scripts/basic/docproc.c: remove stray NUL byte from the source
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2010-01-12 13:48:42 +01:00