aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-04-11rename: run_applet_by_name -> run_applet_and_exitDenis Vlasenko
2007-04-11- set the scope properly. Thanks to Jean Wolter, who wrote:Bernhard Reutner-Fischer
busybox ip and the original ip utility behave differently when setting the following route (verified with ip route show using the original ip utility): ip route add 10.0.0.138 dev eth0 Result for busybox ip: # ip route add 10.0.0.138 dev eth0 # /usr/local/bin/ip route show 10.0.0.138 dev eth0 Result for ip: # /usr/local/bin/ip route add 10.0.0.138 dev eth0 # /usr/local/bin/ip route show 10.0.0.138 dev eth0 scope link A following "ip route add default via 10.0.0.138" fails for busybox ip, since the kernel can not find a route to 10.0.0.138 (it replies with Network is unreachable). The reasons seems to be that the original ip utility explicitly sets the scope after parsing all parameters. This is missing in busybox, the attached patch fixes this. I took this from the original iproute sources and removed some variables, which are not needed for busybox.
2007-04-11Add NOFORK/NOEXEC documentation.Denis Vlasenko
2007-04-11fix typo in commentDenis Vlasenko
2007-04-11fix misplaced #ifDenis Vlasenko
2007-04-11add more convenient defines for [NO]MMU:Denis Vlasenko
"#ifndef BB_NOMMU" is a double negative
2007-04-10random NOMMU fixes. compressed --help really does work for NOMMU! /me happyDenis Vlasenko
2007-04-10Rename two config options:Denis Vlasenko
FEATURE_SH_STANDALONE_SHELL => FEATURE_SH_STANDALONE FEATURE_EXEC_PREFER_APPLETS => FEATURE_PREFER_APPLETS Make SH_STANDALONE depend on PREFER_APPLETS. getopt.c: more randomconfig-induced fixes
2007-04-10xargs: fix my brain fart (resulted in memory leak)Denis Vlasenko
2007-04-10make compressed help code NOMMU- and NOFORK-friendly -Denis Vlasenko
no forking anymore, bunzip2 unpack routine now does all it in memory.
2007-04-10make a few struct bb_applet members conditionalDenis Vlasenko
rename sllep_and_die -> xfunc_die make fflush_stdout_and_exit NOFORK-safe fix some buglets found by randomconfig
2007-04-10- mv ip*_main into ip.c; use a dispatcher to save on needless duplication.Bernhard Reutner-Fischer
Saves a minor 12b.
2007-04-10- use enum for the OPs as suggested by vda. No obj-code changes.Bernhard Reutner-Fischer
2007-04-10- forgot this hunk that corrects the usage text of ipBernhard Reutner-Fischer
2007-04-10- rewrite the ip applet to be less bloatyBernhard Reutner-Fischer
- mark libiproute's matches() as deprecated. Convert to index_in_(sub)str_array()! text data bss dec hex filename 314 0 0 314 13a ip.o.orig 200 0 0 200 c8 ip.o Using a smallint for the key would save another byte.
2007-04-10- add ATTRIBUTE_DEPRECATED for functions that should be removed in the future.Bernhard Reutner-Fischer
This is ment to provide means to point at cruft marked for cleanup.
2007-04-10one-liner: fix indentationDenis Vlasenko
2007-04-10bunzip2: big style cleanup. No code changes apart from one s/write/safe_write/Denis Vlasenko
(verified with objdump).
2007-04-10echo: fix regression ("echo" with no arguments didn't print newline.Denis Vlasenko
echo: use fputs if no options are given. Code growth ~15 bytes. Old: # time ./busybox find $bigdir -exec echo {} \; >/dev/null real 0m2.038s user 0m0.761s sys 0m0.953s New: # time ./busybox find $bigdir -exec echo {} \; >/dev/null real 0m1.781s user 0m0.781s sys 0m0.939s For comparison: without NOFORK: # time find $bigdir -exec echo {} \; >/dev/null real 1m51.129s user 0m38.442s sys 1m3.350s
2007-04-10audit small applets and mark some of them as NOFORK.Denis Vlasenko
Put big scary warnings in relevant places.
2007-04-10style fixes. No code changes.Denis Vlasenko
2007-04-10- very minor shrinkage (-3b)Bernhard Reutner-Fischer
2007-04-10- use skip_non_whitespace() where appropriateBernhard Reutner-Fischer
2007-04-10- add prototype for str_tolower()Bernhard Reutner-Fischer
2007-04-10- add libbb function str_tolower to convert a string to lowercase.Bernhard Reutner-Fischer
- shrink wget a bit
2007-04-09make xfunctions optionally longjump instead of exit.Denis Vlasenko
use it for making NOFORK more practical. touch: make it a NOFORK applet
2007-04-09factor out NOFORK/NOEXEC code from find. Use it for xargs too.Denis Vlasenko
2007-04-09xargs: shrink code, ~80 bytesDenis Vlasenko
applets.h: +#undef APPLET_NOEXEC
2007-04-09wait4pid: if passed with pid < 0, do not set errno - it is already set by exec!Denis Vlasenko
2007-04-09Implement first instance of NOFORK applet - echoDenis Vlasenko
find: use NOFORK/NOEXEC; small -exec buglet also eliminated vfork_daemon_rexec: honor PREFER_APPLETS echo: small size improvements find -exec echo {} \; with PREFER_APPLETS=y runs 4 times faster
2007-04-09busybox: fix "<applet>: applet not found" messageDenis Vlasenko
2007-04-09Improve STANDALONE_SHELL. "safe" applets are renamed NOEXEC appletsDenis Vlasenko
and now this fact is recorded in applets.h, not ash.c. Several fixes to "--help + STANDALONE_SHELL" scenarios. function old new delta run_current_applet_and_exit - 355 +355 arith 2064 2073 +9 refresh 1148 1156 +8 getopt32 1068 1073 +5 telnet_main 1510 1514 +4 md5_sha1_sum_main 565 566 +1 xstrtoul_range_sfx 255 251 -4 packed_usage 22523 22514 -9 tryexec 255 203 -52 static.safe_applets 152 - -152 .rodata 131320 131128 -192 run_applet_by_name 869 506 -363 ------------------------------------------------------------------------------ (add/remove: 1/1 grow/shrink: 5/5 up/down: 382/-772) Total: -390 bytes ./busybox ash -c 'i=20000; while test $i != 0; do touch z; i=$((i-1)); done' runs more than twice as fast with STANDALONE_SHELL versus without.
2007-04-09msh: smallish code shrinkage; cosmeticsDenis Vlasenko
2007-04-09merge busybox.c into applets.cDenis Vlasenko
2007-04-08applets.h: de-obfuscateDenis Vlasenko
2007-04-08add some missed statics on constant objects.Denis Vlasenko
fix few #ifndef ENABLE_xxx # size busybox_old busybox_unstripped text data bss dec hex filename 677152 2920 18208 698280 aa7a8 busybox_old 676420 2920 18208 697548 aa4cc busybox_unstripped
2007-04-08adding small script, mostly for documentational purposesDenis Vlasenko
2007-04-08getopt32: fix llist_t options ordering. llist_rev is not unused.Denis Vlasenko
function old new delta tar_main 705 695 -10 sort_main 928 918 -10 decode_format_string 886 876 -10 run_parts_main 197 185 -12 ps_main 513 500 -13 wget_main 2764 2750 -14 awk_main 1014 1000 -14 od_main 2886 2866 -20 llist_rev 25 - -25 ------------------------------------------------------------------------------ (add/remove: 0/1 grow/shrink: 0/8 up/down: 0/-128) Total: -128 bytes
2007-04-08find: fix -prune more. Add big comment about it.Denis Vlasenko
2007-04-08find: fix handling of -pruneDenis Vlasenko
recursive_actions: uppercase flag constants
2007-04-07busybox.net: micro fixDenis Vlasenko
2007-04-07busybox.net: update "screenshot"Denis Vlasenko
2007-04-07getopt: use getopt32 for option parsing - inspired by patch by Denis Vlasenko
Mats Erik Andersson <mats.andersson64@comhem.se> function old new delta getopt_main 809 810 +1 static.BUFFER 4 - -4 shell 8 4 -4 quote 4 - -4 quiet_output 4 - -4 quiet_errors 4 - -4 long_options_nr 4 - -4 long_options_length 4 - -4 long_options 388 384 -4 alternative 4 - -4 shortopts 15 - -15 normalize 243 220 -23 .rodata 131832 131800 -32 add_longopt 200 - -200 ------------------------------------------------------------------------------ (add/remove: 0/9 grow/shrink: 1/4 up/down: 1/-306) Total: -305 bytes
2007-04-07docs: "how to add a patch"Denis Vlasenko
2007-04-07libiproute: audit callgraph, shortcut error paths into die() functions.Denis Vlasenko
Kill a few statics, made other globals smaller: oneline is smallint, _SL_ is char function old new delta print_tunnel 693 731 +38 print_route 1775 1777 +2 print_addrinfo 1495 1497 +2 ipaddr_list_or_flush 2826 2828 +2 oneline 4 1 -3 _SL_ 4 1 -3 ipaddr_modify 1476 1472 -4 parse_address 124 119 -5 ip_parse_common_args 429 423 -6 on_off 53 46 -7 do_del_ioctl 113 106 -7 do_add_ioctl 120 113 -7 do_show 864 856 -8 iprule_list 157 148 -9 do_iptunnel 310 299 -11 do_add 143 126 -17 get_ctl_fd 95 76 -19 set_address 108 84 -24 ip_main 351 323 -28 static.ifr 32 - -32 parse_args 1992 1949 -43 iproute_list_or_flush 1673 1582 -91 do_iplink 1583 1485 -98 filter 280 - -280 ------------------------------------------------------------------------------ (add/remove: 0/2 grow/shrink: 4/18 up/down: 44/-702) Total: -658 bytes
2007-04-07udhcp: MAC_BCAST_ADDR and blank_chaddr are in fact constant, move to rodata.Denis Vlasenko
a few global variables reduced to smallints function old new delta add_lease 75 227 +152 static.blank_chaddr - 16 +16 MAC_BCAST_ADDR - 6 +6 sockfd 4 8 +4 udhcp_run_script 1153 1155 +2 state 8 5 -3 listen_mode 4 1 -3 perform_release 152 148 -4 fd 8 4 -4 blank_chaddr 16 - -16 udhcpc_main 2518 2497 -21 .rodata 131864 131832 -32 oldest_expired_lease 61 - -61 clear_lease 127 - -127 ------------------------------------------------------------------------------ (add/remove: 2/3 grow/shrink: 3/6 up/down: 180/-271) Total: -91 bytes
2007-04-07comm: eliminate staticsDenis Vlasenko
2007-04-07random small shrinkage and elimination of staticsDenis Vlasenko
2007-04-06nc: code shrinkage, bugfixes. -50 bytes code sizeDenis Vlasenko
2007-04-05svn add match_fstype.c :(Denis Vlasenko