oweals/busybox.git
17 years agoash: fix SEGV in forkchild (jp can be NULL). here documents were affected.
Denis Vlasenko [Wed, 18 Jul 2007 21:35:43 +0000 (21:35 -0000)]
ash: fix SEGV in forkchild (jp can be NULL). here documents were affected.

17 years agofix unpacker testsuite to match actual output
Denis Vlasenko [Wed, 18 Jul 2007 18:47:13 +0000 (18:47 -0000)]
fix unpacker testsuite to match actual output

17 years agoawk: actually do "svn add" for testsuite
Denis Vlasenko [Wed, 18 Jul 2007 18:33:18 +0000 (18:33 -0000)]
awk: actually do "svn add" for testsuite

17 years agoawk: fix -F 'regex' bug (miscounted fields if last field is empty)
Denis Vlasenko [Wed, 18 Jul 2007 18:32:25 +0000 (18:32 -0000)]
awk: fix -F 'regex' bug (miscounted fields if last field is empty)

17 years agoawk: style fixes; remove one xstrdup/free pair; testsuite
Denis Vlasenko [Wed, 18 Jul 2007 18:31:11 +0000 (18:31 -0000)]
awk: style fixes; remove one xstrdup/free pair; testsuite

17 years agovi: style fixlet
Denis Vlasenko [Tue, 17 Jul 2007 23:22:49 +0000 (23:22 -0000)]
vi: style fixlet

17 years agofix typo in prev commit :(
Denis Vlasenko [Tue, 17 Jul 2007 23:19:28 +0000 (23:19 -0000)]
fix typo in prev commit :(

17 years agovi: s/argv[0]/applet_name/
Denis Vlasenko [Tue, 17 Jul 2007 23:18:26 +0000 (23:18 -0000)]
vi: s/argv[0]/applet_name/

17 years agovi: multiple fixes by Natanael Copa <natanael.copa@gmail.com>
Denis Vlasenko [Tue, 17 Jul 2007 23:14:07 +0000 (23:14 -0000)]
vi: multiple fixes by Natanael Copa <natanael.copa@gmail.com>
* the puzzling message on error is replaced with strerror(errno)
  so it should be even more detailed and smaller at the same time.
* merged code in edit_file() and code for ':edit <file>' in colon() into
  new func init_text_buffer(). Was horribly duplicate. Moved most of
  error/sanity checking to file_insert(). Result is that you get a proper
  validation (prevent reading /dev/*) and error messages for ':r <file>'
* renamed 'cfn' to 'current_filename' for improved readability
* merged smallint vi_readonly and readonly into bitfields into
  readonly_mode to save space.
* added text_size variable to keep track how big the text buffer is.
  This is used to fix a buffer overflow. To reproduce bug:
  ./busybox vi TODO
  :r Makefile
  vi segfaults due to no buffer checking is done at all. som redesign is
  needed here but i added a check in text_hole_make() to aviod the
  segfault at least.
* removed isblnk() and use isblank(3) instead.
* fixed compiler warning by displaying the return code for :!<command>
  This makes things bigger than needed but since the patch reduces the
  overall size... (see below)
* new func next_tabstop(int) merges some duplicate code. There are more
  cuplicode here but i couldnt find a good way to merge them.
* Fix *ANNOYING* placement of cursor on '\t' characters. To reproduce:
    echo -e "\thello" > file1
    ./busybox vi file1
  Try to insert some text at the beginning of line. Text will be inserted
  but cursor is blinking somewhere else. The patch should make busybox vi
  behave more like original vi(m). Costs a few bytes but its worth it
  imho.
* new_text() is moved into init_text_buffer()
* the previously added update_ro_status() was moved info file_insert due
  to duplication removal mentioned above.
function                                             old     new   delta
init_text_buffer                                       -     245    +245
file_insert                                          312     420    +108
next_tabstop                                           -      82     +82
text_hole_make                                       154     171     +17
do_cmd                                              5093    5100      +7
static.cmd_mode_indicator                              -       5      +5
refresh                                             1248    1253      +5
current_filename                                       -       4      +4
yank_delete                                          161     164      +3
what_reg                                              96      99      +3
end_cmd_q                                             78      81      +3
char_insert                                          440     442      +2
readonly_mode                                          -       1      +1
vi_readonly                                            1       -      -1
setops                                               154     153      -1
readonly                                               1       -      -1
vi_setops                                              4       1      -3
string_insert                                        161     158      -3
cfn                                                    4       -      -4
show_status_line                                     532     514     -18
readit                                               519     500     -19
move_to_col                                          161     138     -23
vi_main                                              495     433     -62
isblnk                                                75       -     -75
.rodata                                             4751    4655     -96
edit_file                                            892     787    -105
new_text                                             125       -    -125
update_ro_status                                     131       -    -131
colon                                               3848    3667    -181
------------------------------------------------------------------------------
(add/remove: 5/6 grow/shrink: 8/10 up/down: 485/-848)        Total: -363
bytes
   text    data     bss     dec     hex filename
  34751     873    4260   39884    9bcc busybox_old
  34439     877    4260   39576    9a98 busybox_unstripped

17 years agoifconfig: make it work with ifaces with ifnames > 255
Denis Vlasenko [Tue, 17 Jul 2007 22:53:05 +0000 (22:53 -0000)]
ifconfig: make it work with ifaces with ifnames > 255

17 years agoremove accumulated stray trailing whitespace
Denis Vlasenko [Tue, 17 Jul 2007 21:42:59 +0000 (21:42 -0000)]
remove accumulated stray trailing whitespace

17 years agoModify method of linking against libs. Now we fisrt try all
Denis Vlasenko [Tue, 17 Jul 2007 20:39:27 +0000 (20:39 -0000)]
Modify method of linking against libs. Now we fisrt try all
specified libs, and if it succeeds, we try to remove them
one-by-one. If link succeeds, then library is thrown out.
Should solve the problem with SELinux linking in libsepol
even when not needed.

17 years agofix discrepancy in GPL version number. Pointed out by "Marsh David" <dmarsh@bigw...
Denis Vlasenko [Mon, 16 Jul 2007 22:21:15 +0000 (22:21 -0000)]
fix discrepancy in GPL version number. Pointed out by "Marsh David" <dmarsh@bigw.com.au>

17 years agotop: nested function allows us to reuse some code
Denis Vlasenko [Sun, 15 Jul 2007 19:27:48 +0000 (19:27 -0000)]
top: nested function allows us to reuse some code
(not everyone likes them - but code does get smaller).

display_generic                                        -     761    +761
static.fmt_100percent_8                                -     111    +111
fmt_100percent_8                                     101       -    -101
display_status                                      1489     581    -908
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/1 up/down: 872/-1009)        Total: -137 bytes
   text    data     bss     dec     hex filename
 677020    3344   13936  694300   a981c busybox_old
 676876    3344   13936  694156   a978c busybox_unstripped

17 years agotop: make "100%" case less ugly, and shrink code while at it
Denis Vlasenko [Sun, 15 Jul 2007 19:25:01 +0000 (19:25 -0000)]
top: make "100%" case less ugly, and shrink code while at it
fmt_100percent_8                                       -     101    +101
.rodata                                           129185  129153     -32
display_status                                      1726    1489    -237
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 101/-269)         Total: -168 bytes
   text    data     bss     dec     hex filename
 677180    3344   13936  694460   a98bc busybox_old
 677020    3344   13936  694300   a981c busybox_unstripped

17 years agotop: simpler loadavg processing
Denis Vlasenko [Sun, 15 Jul 2007 19:23:38 +0000 (19:23 -0000)]
top: simpler loadavg processing
display_status                                      1787    1726     -61
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-61)             Total: -61 bytes
   text    data     bss     dec     hex filename
 677244    3344   13936  694524   a98fc busybox_old
 677180    3344   13936  694460   a98bc busybox_unstripped

17 years agotop: truncate usernames to 8 chars
Denis Vlasenko [Sun, 15 Jul 2007 17:07:58 +0000 (17:07 -0000)]
top: truncate usernames to 8 chars

17 years agogrep: implement -m MAX_MATCHES; fix help text
Denis Vlasenko [Sun, 15 Jul 2007 12:39:08 +0000 (12:39 -0000)]
grep: implement -m MAX_MATCHES; fix help text
grep_file                                            771     822     +51
packed_usage                                       22573   22610     +37
.rodata                                           128058  128090     +32
grep_main                                            842     853     +11
max_matches                                            -       4      +4
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 4/0 up/down: 135/0)             Total: 135 bytes

17 years agogrep: fix buglets with context printing
Denis Vlasenko [Sun, 15 Jul 2007 12:38:18 +0000 (12:38 -0000)]
grep: fix buglets with context printing
print_line                                           152     170     +18
did_print_line                                         -       1      +1
grep_file                                            788     771     -17
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/1 up/down: 19/-17)              Total: 2 bytes
   text    data     bss     dec     hex filename
 673368    2740   13968  690076   a879c busybox_old
 673368    2740   13968  690076   a879c busybox_unstripped

17 years agoash: make "jobs | cat" work like in bash (was giving empty output)
Denis Vlasenko [Sun, 15 Jul 2007 01:13:25 +0000 (01:13 -0000)]
ash: make "jobs | cat" work like in bash (was giving empty output)

17 years agoadduser: close /etc/{passwd,shadow} before calling passwd etc.
Denis Vlasenko [Sat, 14 Jul 2007 22:51:28 +0000 (22:51 -0000)]
adduser: close /etc/{passwd,shadow} before calling passwd etc.
Spotted by Natanael Copa <natanael.copa@gmail.com>

17 years agovi: make status line less confusing when we open non-readable files,
Denis Vlasenko [Sat, 14 Jul 2007 22:43:10 +0000 (22:43 -0000)]
vi: make status line less confusing when we open non-readable files,
require rood to use w! when saving non-writable files.
Patch by Natanael Copa <natanael.copa@gmail.com>

update_ro_status                                       -      73     +73
edit_file                                            819     822      +3
colon                                               3440    3425     -15
.rodata                                           128090  128058     -32
file_insert                                          288     235     -53
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/3 up/down: 76/-100)           Total: -24 bytes
   text    data     bss     dec     hex filename
 673344    2740   13968  690052   a8784 busybox_old
 673320    2740   13968  690028   a876c busybox_unstripped

17 years agoxioctl and friends by Tito <farmatito@tiscali.it>
Denis Vlasenko [Sat, 14 Jul 2007 22:07:14 +0000 (22:07 -0000)]
xioctl and friends by Tito <farmatito@tiscali.it>

function                                             old     new   delta
do_iptunnel                                          203     977    +774
process_dev                                         5328    5494    +166
ioctl_or_perror                                        -      54     +54
ioctl_or_perror_and_die                                -      51     +51
ioctl_alt_func                                         -      49     +49
bb_ioctl_or_warn                                       -      47     +47
do_add_ioctl                                         102     145     +43
bb_xioctl                                              -      39     +39
print_value_on_off                                     -      31     +31
get_lcm                                              105     123     +18
arp_main                                            2155    2167     +12
..................
zcip_main                                           1576    1566     -10
setlogcons_main                                       92      82     -10
dumpkmap_main                                        263     253     -10
do_get_ioctl                                          85      75     -10
setkeycodes_main                                     165     154     -11
write_table                                          244     232     -12
vconfig_main                                         318     306     -12
do_del_ioctl                                          93      81     -12
set_address                                           75      62     -13
maybe_set_utc                                         30      16     -14
loadfont_main                                        495     479     -16
slattach_main                                        712     695     -17
do_loadfont                                          191     174     -17
do_iplink                                           1155    1136     -19
getty_main                                          2583    2562     -21
fbset_main                                          2058    2035     -23
do_time                                              588     565     -23
xioctl                                                25       -     -25
read_rtc                                             186     160     -26
parse_conf                                          1299    1270     -29
udhcp_read_interface                                 269     239     -30
bb_ioctl                                              45       -     -45
bb_ioctl_alt                                          70       -     -70
bb_ioctl_on_off                                       78       -     -78
.rodata                                           129370  129018    -352
do_show                                              799       -    -799
------------------------------------------------------------------------------
(add/remove: 6/5 grow/shrink: 13/49 up/down: 1316/-1864)     Total: -548 bytes
   text    data     bss     dec     hex filename
 675352    2740   13968  692060   a8f5c busybox_old
 674804    2740   13968  691512   a8d38 busybox_unstripped

17 years agoash: small size optimization
Denis Vlasenko [Sat, 14 Jul 2007 18:45:37 +0000 (18:45 -0000)]
ash: small size optimization
function                                             old     new   delta
makejob                                              263     270      +7
setjobctl                                            328     332      +4
jobscmd                                               96      94      -2
stoppedjobs                                           53      50      -3
jobctl                                                 4       1      -3
job_warning                                            4       1      -3
forkshell                                            644     641      -3
cmdloop                                              422     409     -13
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/6 up/down: 11/-27)            Total: -16 bytes
   text    data     bss     dec     hex filename
 675392    2740   13968  692100   a8f84 busybox_old
 675380    2740   13968  692088   a8f78 busybox_unstripped

17 years agoash: recognize -l as --login equivalent; do not recognize +-login
Denis Vlasenko [Sat, 14 Jul 2007 11:33:10 +0000 (11:33 -0000)]
ash: recognize -l as --login equivalent; do not recognize +-login

17 years agoash: fix for buglet in DEBUG code (Nguyen Thai Ngoc Duy <pclouds@gmail.com>)
Denis Vlasenko [Sat, 14 Jul 2007 00:48:29 +0000 (00:48 -0000)]
ash: fix for buglet in DEBUG code (Nguyen Thai Ngoc Duy <pclouds@gmail.com>)

17 years agoFAQ: add timezone Q
Denis Vlasenko [Fri, 13 Jul 2007 15:26:53 +0000 (15:26 -0000)]
FAQ: add timezone Q

17 years agonc: minor code shrink
Denis Vlasenko [Fri, 13 Jul 2007 12:37:31 +0000 (12:37 -0000)]
nc: minor code shrink

function                                             old     new   delta
dolisten                                             731     737      +6
tmtravel                                              32      21     -11
catch                                                 75      64     -11
oprint                                               272     229     -43
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/3 up/down: 6/-65)             Total: -59 bytes
   text    data     bss     dec     hex filename
 676698    3340   13936  693974   a96d6 busybox_old
 676650    3340   13936  693926   a96a6 busybox_unstripped

17 years agoremove last source id
Mike Frysinger [Fri, 13 Jul 2007 05:03:46 +0000 (05:03 -0000)]
remove last source id

17 years agoadd support for --symbol-prefix/-P
Mike Frysinger [Fri, 13 Jul 2007 04:37:12 +0000 (04:37 -0000)]
add support for --symbol-prefix/-P

17 years agofix applet order error
Denis Vlasenko [Fri, 6 Jul 2007 16:57:06 +0000 (16:57 -0000)]
fix applet order error

17 years agomd5_sha1_sum: fix mishandling when run as /bin/md5sum (with path)
Denis Vlasenko [Thu, 5 Jul 2007 00:12:55 +0000 (00:12 -0000)]
md5_sha1_sum: fix mishandling when run as /bin/md5sum (with path)
chown/chgrp: completely match coreutils 6.8 wrt symlink handling

function                                             old     new   delta
recursive_action                                     411     422     +11
arith                                               2033    2042      +9
collect_blk                                          467     474      +7
dhcprelay_main                                      1122    1125      +3
fsck_main                                           1909    1911      +2
singlemount                                         4555    4547      -8
xmalloc_realpath                                      14       -     -14
get_lcm                                              123     105     -18
ed_main                                             3111    3084     -27
chown_main                                           217     183     -34
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 5/4 up/down: 32/-101)           Total: -69 bytes
   text    data     bss     dec     hex filename
 684132    2744   14000  700876   ab1cc busybox_old
 684060    2744   14000  700804   ab184 busybox_unstripped

17 years agoudhcp: many small fixes:
Denis Vlasenko [Tue, 3 Jul 2007 15:47:50 +0000 (15:47 -0000)]
udhcp: many small fixes:
* arpping(): smaller and even probably fixed
* lots of variables/params converted: ulong -> uint32_t
* uptime() nuked in favor of monotonic_sec()
* udhcp_get_packet(): only one "bad vendor", simplify

function                                             old     new   delta
reservedIp                                            36      35      -1
udhcpc_main                                         2462    2460      -2
addStaticLease                                        64      62      -2
static.broken_vendors                                 16       -     -16
uptime                                                19       -     -19
udhcpd_main                                         1273    1238     -35
udhcp_get_packet                                     223     184     -39
.rodata                                           144162  144106     -56
arpping                                              690     609     -81
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/7 up/down: 0/-251)           Total: -251 bytes
   text    data     bss     dec     hex filename
 734241    3028   14400  751669   b7835 busybox_old
 734005    3028   14400  751433   b7749 busybox_unstripped

17 years agocorrect_password: if password is 'x' or '*' and there is no shadow, use
Denis Vlasenko [Tue, 3 Jul 2007 10:28:46 +0000 (10:28 -0000)]
correct_password: if password is 'x' or '*' and there is no shadow, use
fake encrypted password 'aa' (which is guaranteed to fail password check).

17 years agoifupdown: kill -TERM is default, so drop -TERM
Denis Vlasenko [Tue, 3 Jul 2007 08:26:24 +0000 (08:26 -0000)]
ifupdown: kill -TERM is default, so drop -TERM
ifupdown: ferror() does not set errno, don't use perror
ifupdown: make netmask parsing smaller and more strict
(was accepting 255.0.255.0, 255.1234.0.0 etc...)

function                                             old     new   delta
count_bits                                            36       -     -36
execute                                             2573    2535     -38
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/1 up/down: 0/-74)             Total: -74 bytes
   text    data     bss     dec     hex filename
 684204    2744   14000  700948   ab214 busybox_old
 684132    2744   14000  700876   ab1cc busybox_unstripped

17 years agocorrect_password: do not print "no shadow passwd..." message
Denis Vlasenko [Tue, 3 Jul 2007 06:15:42 +0000 (06:15 -0000)]
correct_password: do not print "no shadow passwd..." message

function                                             old     new   delta
correct_password                                     204     191     -13
.rodata                                           129530  129466     -64
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-77)             Total: -77 bytes
   text    data     bss     dec     hex filename
 675984    2744   13968  692696   a91d8 busybox_old
 675908    2744   13968  692620   a918c busybox_unstripped

17 years agoping: fix non-fancy ping6
Denis Vlasenko [Mon, 2 Jul 2007 15:47:52 +0000 (15:47 -0000)]
ping: fix non-fancy ping6

17 years agodevfsd: futher sanitization by Tito <farmatito@tiscali.it>
Denis Vlasenko [Sun, 1 Jul 2007 22:25:33 +0000 (22:25 -0000)]
devfsd: futher sanitization by Tito <farmatito@tiscali.it>

17 years agoexpr: small code shrink
Denis Vlasenko [Sun, 1 Jul 2007 18:33:35 +0000 (18:33 -0000)]
expr: small code shrink

17 years agodevfsd: indentation fixes
Denis Vlasenko [Sun, 1 Jul 2007 18:18:54 +0000 (18:18 -0000)]
devfsd: indentation fixes

17 years agofind: fix build failure on certain configs
Denis Vlasenko [Sun, 1 Jul 2007 17:35:17 +0000 (17:35 -0000)]
find: fix build failure on certain configs
(found by Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>)

17 years agofind: style fix
Denis Vlasenko [Sun, 1 Jul 2007 17:29:44 +0000 (17:29 -0000)]
find: style fix

17 years agops: revert wrong "optimization": (i & 1) -> i
Denis Vlasenko [Sun, 1 Jul 2007 17:25:59 +0000 (17:25 -0000)]
ps: revert wrong "optimization": (i & 1) -> i

17 years agofix comment placement (no code changes)
Denis Vlasenko [Sun, 1 Jul 2007 17:11:54 +0000 (17:11 -0000)]
fix comment placement (no code changes)

17 years agoudhcp: new config option "Rewrite the lease file at every new acknowledge"
Denis Vlasenko [Sun, 1 Jul 2007 17:05:57 +0000 (17:05 -0000)]
udhcp: new config option "Rewrite the lease file at every new acknowledge"
       (Mats Erik Andersson <mats@blue2net.com> (Blue2Net AB))
udhcp: consistently treat server_config.start/end IPs as host-order
       fix IP parsing for 64bit machines
       fix unsafe hton macro usage in read_opt()
       do not chdir("/") when daemonizing
       fix help text

17 years agops: fix "unused variable" warning; fix integer variable declared as char.
Denis Vlasenko [Sun, 1 Jul 2007 14:53:06 +0000 (14:53 -0000)]
ps: fix "unused variable" warning; fix integer variable declared as char.

17 years agoweb site: announce 1.6.1
Denis Vlasenko [Sat, 30 Jun 2007 17:12:14 +0000 (17:12 -0000)]
web site: announce 1.6.1

17 years agotop,ps: improve /proc/PID/cmdinfo reading code
Denis Vlasenko [Sat, 30 Jun 2007 14:47:41 +0000 (14:47 -0000)]
top,ps: improve /proc/PID/cmdinfo reading code

function                                             old     new   delta
display_status                                         -    1231   +1231
read_cmdline                                           -     101    +101
parse_conf                                          1284    1303     +19
arith                                               2033    2042      +9
collect_blk                                          467     474      +7
fsck_main                                           1909    1911      +2
dhcprelay_main                                      1125    1122      -3
singlemount                                         4555    4547      -8
read_close                                            50      36     -14
get_lcm                                              123     105     -18
ed_main                                             3111    3084     -27
func_args                                             73      28     -45
procps_scan                                          732     658     -74
top_main                                            2187     899   -1288
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 4/8 up/down: 1369/-1477)       Total: -108 bytes
   text    data     bss     dec     hex filename
 676048    2744   13968  692760   a9218 busybox_old
 675940    2744   13968  692652   a91ac busybox_unstripped

17 years agoadd bb_basename.c
Denis Vlasenko [Sat, 30 Jun 2007 10:58:08 +0000 (10:58 -0000)]
add bb_basename.c

17 years agointroduce and use bb_basename()
Denis Vlasenko [Sat, 30 Jun 2007 08:04:05 +0000 (08:04 -0000)]
introduce and use bb_basename()

function                                             old     new   delta
bb_basename                                            -      26     +26
sv_main                                             1226    1225      -1
passwd_main                                         1985    1983      -2
showdirs                                             482     478      -4
sendCgi                                             1811    1807      -4
make_device                                         1354    1350      -4
handleIncoming                                      2443    2439      -4
func_name                                             82      78      -4
service_name                                        2292    2285      -7
main                                                 909     901      -8
cmp_main                                             555     547      -8
test_main                                            434     422     -12
act                                                  228     216     -12
find_pair                                            180     164     -16
rmmod_main                                           298     280     -18
find_pid_by_name                                     156     134     -22
modprobe_main                                       1606    1576     -30
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/16 up/down: 26/-156)         Total: -130 bytes
   text    data     bss     dec     hex filename
 734933    3028   14400  752361   b7ae9 busybox_old
 734801    3028   14400  752229   b7a65 busybox_unstripped

17 years agokillall, pidof: use argv0 for process matching too
Denis Vlasenko [Sat, 30 Jun 2007 08:03:26 +0000 (08:03 -0000)]
killall, pidof: use argv0 for process matching too
top: show cmdline, not comm field
(fixes problems with re-execed applets showing as processes with name "exe",
and not being found by pidof/killall by applet name)

function                                             old     new   delta
find_pid_by_name                                      98     156     +58
procps_scan                                          692     732     +40
top_main                                            2724    2762     +38
find_pair                                            164     180     +16
collect_int                                          114     123      +9
cmp_main                                             547     555      +8
collect_fork                                         112     119      +7
collect_ctx                                          112     119      +7
read_package_field                                   253     257      +4
passwd_main                                         1983    1985      +2
process_stdin                                        435     433      -2
xstrtoul_range_sfx                                   229     226      -3
get_next_block                                      1852    1849      -3
arith                                               2042    2033      -9
sv_main                                             1236    1226     -10
singlemount                                         4690    4672     -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 10/6 up/down: 189/-45)          Total: 144 bytes
   text    data     bss     dec     hex filename
 734789    3028   14400  752217   b7a59 busybox_old
 734933    3028   14400  752361   b7ae9 busybox_unstripped

17 years agoprocps: shrink /proc scanning code a bit
Denis Vlasenko [Sat, 30 Jun 2007 08:01:04 +0000 (08:01 -0000)]
procps: shrink /proc scanning code a bit

function                                             old     new   delta
skip_fields                                           16      15      -1
.rodata                                           144266  144258      -8
procps_scan                                          739     692     -47
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-56)             Total: -56 bytes
   text    data     bss     dec     hex filename
 734845    3028   14400  752273   b7a91 busybox_old
 734789    3028   14400  752217   b7a59 busybox_unstripped

17 years agodocument firmware support
Mike Frysinger [Thu, 28 Jun 2007 17:13:51 +0000 (17:13 -0000)]
document firmware support

17 years agowget: fix bug in base64 encoding (bug 1404). +10 bytes.
Denis Vlasenko [Wed, 27 Jun 2007 21:40:07 +0000 (21:40 -0000)]
wget: fix bug in base64 encoding (bug 1404). +10 bytes.

17 years agodevfsd: style cleanup; size reduction (Tito <farmatito@tiscali.it>)
Denis Vlasenko [Wed, 27 Jun 2007 00:20:38 +0000 (00:20 -0000)]
devfsd: style cleanup; size reduction (Tito <farmatito@tiscali.it>)
traceroute: suppress warning

17 years agouuencode: shrink
Denis Vlasenko [Tue, 26 Jun 2007 15:59:37 +0000 (15:59 -0000)]
uuencode: shrink

function                                             old     new   delta
uuencode_main                                        427     337     -90
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-90)             Total: -90 bytes
   text    data     bss     dec     hex filename
 734981    3028   14400  752409   b7b19 busybox_old
 734889    3028   14400  752317   b7abd busybox_unstripped

17 years agodevfsd: fix formatting (Tito <farmatito@tiscali.it>)
Denis Vlasenko [Mon, 25 Jun 2007 22:55:34 +0000 (22:55 -0000)]
devfsd: fix formatting (Tito <farmatito@tiscali.it>)
ash: fix SEGV if type has zero parameters

17 years agoConsolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms...
Denis Vlasenko [Mon, 25 Jun 2007 10:55:35 +0000 (10:55 -0000)]
Consolidate ARRAY_SIZE macro; remove one unneeded global var (walter harms <wharms@bfs.de>)

17 years ago- need to pass the PATH down to the gcc-version check to be able to find the correct cc.
Bernhard Reutner-Fischer [Mon, 25 Jun 2007 10:41:01 +0000 (10:41 -0000)]
- need to pass the PATH down to the gcc-version check to be able to find the correct cc.
  Fixes make PATH="$CROSS_BIN:$PATH" CROSS_COMPILE=foo- like invocations that previously failed to resolve since the information about the path set by the user was lost.

17 years agotest: suppress gcc warning
Denis Vlasenko [Mon, 25 Jun 2007 10:35:11 +0000 (10:35 -0000)]
test: suppress gcc warning
telnetd: do not use suferfluous static variable.

17 years agohttpd: NOMMU fixes by Alex Landau <landau_alex@yahoo.com>
Denis Vlasenko [Sat, 23 Jun 2007 23:14:02 +0000 (23:14 -0000)]
httpd: NOMMU fixes by Alex Landau <landau_alex@yahoo.com>

17 years agopidof: size optimizations (-50 bytes)
Denis Vlasenko [Sat, 23 Jun 2007 14:56:43 +0000 (14:56 -0000)]
pidof: size optimizations (-50 bytes)

17 years ago- handy to have the cross_compile block here, too
Bernhard Reutner-Fischer [Fri, 22 Jun 2007 17:39:21 +0000 (17:39 -0000)]
- handy to have the cross_compile block here, too

17 years agosyslogd: do not convert tabs to ^I
Denis Vlasenko [Thu, 21 Jun 2007 13:44:53 +0000 (13:44 -0000)]
syslogd: do not convert tabs to ^I

17 years agotest: shrink a bit
Denis Vlasenko [Thu, 21 Jun 2007 13:35:52 +0000 (13:35 -0000)]
test: shrink a bit

function                                             old     new   delta
test_main                                              5     434    +429
bb_test                                              473       -    -473
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 1/0 up/down: 429/-473)          Total: -44 bytes
   text    data     bss     dec     hex filename
 735073    3028   14408  752509   b7b7d busybox_old
 735029    3028   14408  752465   b7b51 busybox_unstripped

17 years agobuild system: remove kernel .config locations (spotted by walter harms <wharms@bfs...
Denis Vlasenko [Thu, 21 Jun 2007 12:57:29 +0000 (12:57 -0000)]
build system: remove kernel .config locations (spotted by walter harms <wharms@bfs.de>)

17 years agorandom shrinkage of statics, -60 bytes saved
Denis Vlasenko [Thu, 21 Jun 2007 12:43:45 +0000 (12:43 -0000)]
random shrinkage of statics, -60 bytes saved

17 years agotar: improve OLDGNU compat, make old SUN compat configurable
Denis Vlasenko [Thu, 21 Jun 2007 12:41:59 +0000 (12:41 -0000)]
tar: improve OLDGNU compat, make old SUN compat configurable

17 years ago- add ATTRIBUTE_UNUSED_RESULT for internal use
Bernhard Reutner-Fischer [Thu, 21 Jun 2007 10:39:20 +0000 (10:39 -0000)]
- add ATTRIBUTE_UNUSED_RESULT for internal use

17 years agosince we removed the deprecated matches() now and thus not alot of warnings are curre...
Bernhard Reutner-Fischer [Thu, 21 Jun 2007 10:28:11 +0000 (10:28 -0000)]
since we removed the deprecated matches() now and thus not alot of warnings are currently seen, let's strive to fixup these:
- warn a little bit about unused results

17 years ago- remove matches() from networking/. Untested.
Bernhard Reutner-Fischer [Thu, 21 Jun 2007 10:20:13 +0000 (10:20 -0000)]
- remove matches() from networking/. Untested.
   text    data     bss     dec     hex filename
   1705       0       0    1705     6a9 networking/libiproute/utils.o.orig
   1676       0       0    1676     68c networking/libiproute/utils.o
    766       0       0     766     2fe networking/libiproute/rtm_map.o.orig
    670       0       0     670     29e networking/libiproute/rtm_map.o
   4942       0       0    4942    134e networking/libiproute/iptunnel.o.orig
   4687       0       0    4687    124f networking/libiproute/iptunnel.o

17 years agoslattach: code shrink (Bernhard Fischer <rep.dot.nop@gmail.com>)
Denis Vlasenko [Thu, 21 Jun 2007 07:27:43 +0000 (07:27 -0000)]
slattach: code shrink (Bernhard Fischer <rep.dot.nop@gmail.com>)

17 years agoremove extra ')'
Denis Vlasenko [Thu, 21 Jun 2007 07:09:18 +0000 (07:09 -0000)]
remove extra ')'

17 years agoslattach: new applet.
Denis Vlasenko [Wed, 20 Jun 2007 15:23:03 +0000 (15:23 -0000)]
slattach: new applet.

17 years ago- move iprule and ipaddress from matches() to index_in_str_array
Bernhard Reutner-Fischer [Wed, 20 Jun 2007 14:53:49 +0000 (14:53 -0000)]
- move iprule and ipaddress from matches() to index_in_str_array
   text    data     bss     dec     hex filename
   2544       0       0    2544     9f0 networking/libiproute/iprule.o.oorig
   2356       0       0    2356     934 networking/libiproute/iprule.o
   6481       0       0    6481    1951 networking/libiproute/ipaddress.o.oorig
   6464       0       0    6464    1940 networking/libiproute/ipaddress.o

17 years agodo not do utime() on links, it acts on link targets, and we don't want that.
Denis Vlasenko [Wed, 20 Jun 2007 14:49:47 +0000 (14:49 -0000)]
do not do utime() on links, it acts on link targets, and we don't want that.
rename link_name to link_target, less confusing this way.

17 years ago- remove another user of the deprecated matches() func by moving it to use index_in_s...
Bernhard Reutner-Fischer [Wed, 20 Jun 2007 12:42:03 +0000 (12:42 -0000)]
- remove another user of the deprecated matches() func by moving it to use index_in_str_array. Untested.
   text    data     bss     dec     hex filename
    445       0       4     449     1c1 ip_parse_common_args.o.oorig
    391       0       4     395     18b ip_parse_common_args.o

17 years ago- do not hardcode HOSTCFLAGS to gcc specific flags. Fixes errors when not using gcc...
Bernhard Reutner-Fischer [Wed, 20 Jun 2007 10:01:12 +0000 (10:01 -0000)]
- do not hardcode HOSTCFLAGS to gcc specific flags. Fixes errors when not using gcc as HOSTCC

17 years ago- strndupa is a GNU extension. Using strdup to avoid several errors like:
Bernhard Reutner-Fischer [Wed, 20 Jun 2007 09:56:47 +0000 (09:56 -0000)]
- strndupa is a GNU extension. Using strdup to avoid several errors like:
  util-linux/mdev.c:(.text+0x29a): undefined reference to `strndupa'

17 years agoecho: fix yet another buglet in non-fancy echo
Denis Vlasenko [Tue, 19 Jun 2007 23:04:17 +0000 (23:04 -0000)]
echo: fix yet another buglet in non-fancy echo

17 years agoping: fix incorrect handling of -I (Iouri Kharon <bc-info@styx.cabel.net>)
Denis Vlasenko [Tue, 19 Jun 2007 22:54:21 +0000 (22:54 -0000)]
ping: fix incorrect handling of -I (Iouri Kharon <bc-info@styx.cabel.net>)

17 years agofind: -context support for SELinux (KaiGai Kohei <kaigai@kaigai.gr.jp>)
Denis Vlasenko [Tue, 19 Jun 2007 22:22:57 +0000 (22:22 -0000)]
find: -context support for SELinux (KaiGai Kohei <kaigai@kaigai.gr.jp>)
find: make it a bit smaller

function                                             old     new   delta
.rodata                                           129018  129050     +32
parse_params                                        1509    1346    -163
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/1 up/down: 32/-163)          Total: -131 bytes

17 years agopscan: size optimization (Tito <farmatito@tiscali.it>)
Denis Vlasenko [Tue, 19 Jun 2007 16:57:47 +0000 (16:57 -0000)]
pscan: size optimization (Tito <farmatito@tiscali.it>)

17 years agopunt %.bflt target in favor of proper LDFLAGS=-Wl,-elf2flt handling
Mike Frysinger [Tue, 19 Jun 2007 15:58:02 +0000 (15:58 -0000)]
punt %.bflt target in favor of proper LDFLAGS=-Wl,-elf2flt handling

17 years agotop,ps: 'stringify' tty only when needed. -60 bytes.
Denis Vlasenko [Tue, 19 Jun 2007 14:43:17 +0000 (14:43 -0000)]
top,ps: 'stringify' tty only when needed. -60 bytes.

17 years agotop: speedup if tty info is not requested
Denis Vlasenko [Tue, 19 Jun 2007 13:53:12 +0000 (13:53 -0000)]
top: speedup if tty info is not requested

17 years agotop,ps: reduce CPU usage in decimal conversion (optional)
Denis Vlasenko [Tue, 19 Jun 2007 13:46:24 +0000 (13:46 -0000)]
top,ps: reduce CPU usage in decimal conversion (optional)

   text    data     bss     dec     hex filename
 734651    3040   14416  752107   b79eb busybox_old
 734751    3040   14416  752207   b7a4f busybox_unstripped

17 years agoll_map: disable interface name caching code
Denis Vlasenko [Tue, 19 Jun 2007 12:11:20 +0000 (12:11 -0000)]
ll_map: disable interface name caching code

function                                             old     new   delta
find_by_index                                          -      26     +26
static.icache                                          4       -      -4
ll_idx_n2a                                            71      59     -12
static.ncache                                         16       -     -16
ll_index_to_flags                                     40      24     -16
xll_name_to_index                                    206     104    -102
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 0/3 up/down: 26/-150)          Total: -124 bytes

   text    data     bss     dec     hex filename
 734703    3040   14440  752183   b7a37 busybox_old
 734599    3040   14416  752055   b79b7 busybox_unstripped

17 years agodefconfig: update
Denis Vlasenko [Tue, 19 Jun 2007 11:33:48 +0000 (11:33 -0000)]
defconfig: update

17 years agomake /etc/network parsing configurable. -200 bytes when off.
Denis Vlasenko [Tue, 19 Jun 2007 11:24:47 +0000 (11:24 -0000)]
make /etc/network parsing configurable. -200 bytes when off.

17 years agonetworking/interface.c: huke remaining big statics; use malloc for INET[6]_rresolve
Denis Vlasenko [Tue, 19 Jun 2007 11:12:46 +0000 (11:12 -0000)]
networking/interface.c: huke remaining big statics; use malloc for INET[6]_rresolve
return value. Went thru callers and adjusted them - code got smaller too.

function                                             old     new   delta
ip_port_str                                            -     126    +126
INET6_rresolve                                       165     182     +17
static.cache                                          20      24      +4
route_main                                          2092    2091      -1
INET_sprint                                           61      59      -2
INET_nn                                                4       -      -4
INET6_sprint                                          59      53      -6
udp_do_one                                           518     508     -10
tcp_do_one                                           433     423     -10
raw_do_one                                           494     484     -10
traceroute_main                                     4117    4105     -12
INET_rresolve                                        334     321     -13
bb_displayroutes                                     494     456     -38
snprint_ip_port                                      244       -    -244
static.buff                                          264      16    -248
------------------------------------------------------------------------------
(add/remove: 1/2 grow/shrink: 2/10 up/down: 147/-598)        Total: -451 bytes

size busybox_old busybox_unstripped
   text    data     bss     dec     hex filename
 751073    3048   14688  768809   bbb29 busybox_old
 750873    3048   14440  768361   bb969 busybox_unstripped

17 years agonetworking/interface.c: reduce bss usage
Denis Vlasenko [Tue, 19 Jun 2007 11:10:02 +0000 (11:10 -0000)]
networking/interface.c: reduce bss usage

function                                             old     new   delta
.rodata                                           158918  158950     +32
display_interfaces                                   133     153     +20
UNSPEC_print                                          56      68     +12
pr_ether                                              59      65      +6
static.proc_read                                       4       1      -3
interface_opt_a                                        4       1      -3
in_ether                                             139     136      -3
ifconfig_main                                       1296    1293      -3
if_readlist_proc                                     686     680      -6
ife_print                                           1350    1338     -12
do_if_print                                           46       -     -46
static.buff                                          369     264    -105
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/7 up/down: 70/-181)          Total: -111 bytes

# size busybox_old busybox_unstripped
   text    data     bss     dec     hex filename
 751073    3080   14800  768953   bbbb9 busybox_old
 751073    3048   14688  768809   bbb29 busybox_unstripped

17 years agolibbb: random hunt for statics
Denis Vlasenko [Mon, 18 Jun 2007 10:35:06 +0000 (10:35 -0000)]
libbb: random hunt for statics

function                                             old     new   delta
bb_askpass                                           306     321     +15
pw_encrypt                                            38      39      +1
static.passwd                                         64       4     -60
static.cipher                                        128       4    -124
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/2 up/down: 16/-184)          Total: -168 bytes

# size busybox_old busybox_unstripped
   text    data     bss     dec     hex filename
 683705    2704   14240  700649   ab0e9 busybox_old
 683721    2704   14064  700489   ab049 busybox_unstripped

17 years agolibpwdgrp/pwd_grp.c: allocate local storage on first call, not in bss. -1k bss
Denis Vlasenko [Mon, 18 Jun 2007 10:08:27 +0000 (10:08 -0000)]
libpwdgrp/pwd_grp.c: allocate local storage on first call, not in bss. -1k bss

function                                             old     new   delta
get_S                                                  -      31     +31
bb_internal_getpwnam                                  38      44      +6
bb_internal_getgrnam                                  38      44      +6
bb_internal_getgrgid                                  38      44      +6
ptr_to_statics                                         -       4      +4
static.resultbuf                                      88       -     -88
static.buffer                                       1024       -   -1024
------------------------------------------------------------------------------
(add/remove: 2/2 grow/shrink: 3/0 up/down: 53/-1112)        Total: -1059 bytes

17 years agoping: fix write-after-allocated-mem bug
Denis Vlasenko [Mon, 18 Jun 2007 08:55:57 +0000 (08:55 -0000)]
ping: fix write-after-allocated-mem bug
ping: use monotonic_us instead of gettimeofday: smaller code and
      needs only 4 bytes in the packet
ping: display roundtrip times with 1/1000th of ms, not 1/10 ms precision.
wget: small optimization

function                                             old     new   delta
pingstats                                            243     259     +16
sendping6                                             98      93      -5
sendping4                                            183     178      -5
.rodata                                           129715  129707      -8
progressmeter                                        867     855     -12
unpack_tail                                          320     272     -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/5 up/down: 16/-78)            Total: -62 bytes

17 years agofix an obvious typo while trying to access the tv_usec member
Mike Frysinger [Mon, 18 Jun 2007 07:12:31 +0000 (07:12 -0000)]
fix an obvious typo while trying to access the tv_usec member

17 years agowget: use monotonic_sec instead of gettimeofday
Denis Vlasenko [Sun, 17 Jun 2007 23:40:26 +0000 (23:40 -0000)]
wget: use monotonic_sec instead of gettimeofday
zcip: use monotonic_us instead of gettimeofday
udhcpcd: simpler, shorter random_xid()

function                                             old     new   delta
monotonic_sec                                          -      41     +41
find_pair                                            164     180     +16
run_list_real                                       2018    2028     +10
cmp_main                                             547     555      +8
collect_ctx                                          112     119      +7
singlemount                                         4544    4549      +5
time_main                                           1124    1128      +4
static.start_sec                                       -       4      +4
static.lastupdate_sec                                  -       4      +4
sock                                                   -       4      +4
read_package_field                                   253     257      +4
pick                                                  38      40      +2
get_next_line                                        145     147      +2
count_lines                                           59      61      +2
process_stdin                                        435     433      -2
xstrtoul_range_sfx                                   229     226      -3
static.initialized                                     4       1      -3
dhcprelay_main                                      1125    1122      -3
catcher                                              380     377      -3
arping_main                                         1969    1966      -3
s                                                      8       4      -4
cfg                                                    4       -      -4
static.lastupdate                                      8       -      -8
start                                                  8       -      -8
random_xid                                            95      33     -62
.rodata                                           129114  129050     -64
zcip_main                                           1731    1576    -155
progressmeter                                       1035     867    -168
------------------------------------------------------------------------------
(add/remove: 4/3 grow/shrink: 10/11 up/down: 113/-490)       Total: -377 bytes

17 years agohwclock: size optimizations
Denis Vlasenko [Sun, 17 Jun 2007 19:09:05 +0000 (19:09 -0000)]
hwclock: size optimizations
libbb/time.c: new file, introducing monotonic_us()
pscan, traceroute, arping: use it instead of gettimeofday
ping, zcip: TODO

function                                             old     new   delta
monotonic_us                                           -      89     +89
find_pair                                            164     180     +16
.rodata                                           129747  129763     +16
refresh                                             1144    1152      +8
............
timeout                                                8       4      -4
static.start                                           8       4      -4
last                                                   8       4      -4
parse_conf                                          1303    1284     -19
time_main                                           1149    1124     -25
gettimeofday_us                                       39       -     -39
arping_main                                         2042    1969     -73
hwclock_main                                         594     501     -93
catcher                                              485     380    -105
traceroute_main                                     4300    4117    -183
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 8/11 up/down: 157/-562)        Total: -405 bytes

17 years agotime: *const str = "xxx" ==> str[] = "xxx"
Denis Vlasenko [Sun, 17 Jun 2007 19:04:58 +0000 (19:04 -0000)]
time: *const str = "xxx"  ==>  str[] = "xxx"

17 years agostrings: strings a b was processing a twice, fix that
Denis Vlasenko [Sun, 17 Jun 2007 12:19:07 +0000 (12:19 -0000)]
strings: strings a b was processing a twice, fix that