1bab1de698
fix for suffix optimization (which was in previous commit)
Denis Vlasenko
2007-07-27 15:30:39 +00:00
f868963c67
multiplier suffixes are short, store them directly in struct suffix_mult
Denis Vlasenko
2007-07-27 15:06:25 +00:00
7587870617
dd: fix bug where we assume count=INT_MAX when count is unspecified; shrink dd while at it
Denis Vlasenko
2007-07-27 15:02:00 +00:00
1d10aaf116
passwd: fix bug: we are trying to update shadow even if user's record is in passwd! getspnam is guilty, it lies that user record exists in shadow.
Denis Vlasenko
2007-07-27 11:22:34 +00:00
3734b946bf
bb_getpwuid, bb_getgrgid: change order of arguments to more intuitive one; comment thoroughly when they die and when they dont.
Denis Vlasenko
2007-07-27 11:20:10 +00:00
661f6fad77
cal: small code shrink
Denis Vlasenko
2007-07-26 11:12:51 +00:00
990d0f63ee
Replace index_in_[sub]str_array with index_in_[sub]strings, which scans thru "abc\0def\0123\0\0" type strings. Saves 250 bytes.
Denis Vlasenko
2007-07-24 15:54:42 +00:00
bcb66ec22e
od: shrink a bit
Denis Vlasenko
2007-07-24 12:28:03 +00:00
1da77728d7
setfiles: small tweaks to usage text and code
Denis Vlasenko
2007-07-24 06:17:43 +00:00
3e64e98570
zcip: remove stray seed48. It's the only thing which was pulling in rand48 machinery:
Denis Vlasenko
2007-07-23 22:44:15 +00:00
65b8cfb2a0
add comment why preferred stack boundary is 4 on i386
Denis Vlasenko
2007-07-23 21:05:06 +00:00
64a8a3bd74
chpasswd: rename long options definition to match other applets. no code changes
Denis Vlasenko
2007-07-23 18:49:16 +00:00
5bfcb4d5ae
getopt32 must remain NOFORK-safe (no mallocs!). Using alloca and pretending stack is infinite. Unfortunately, +79 bytes.
Denis Vlasenko
2007-07-23 17:40:35 +00:00
bdc88fdc68
rework long option handling. saves ~1.2k
Denis Vlasenko
2007-07-23 17:14:14 +00:00
9fe9c1a6d8
setiles: cosmetics, no real code changes
Denis Vlasenko
2007-07-23 14:05:02 +00:00
397137b815
setfiles,restorecon: new SELinux applets by Yuichi Nakamura <ynakam@hitachisoft.jp>
Denis Vlasenko
2007-07-23 14:03:30 +00:00
eaabf0675f
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
Denis Vlasenko
2007-07-17 23:14:07 +00:00
2851082d5d
ifconfig: make it work with ifaces with ifnames > 255
Denis Vlasenko
2007-07-17 22:53:05 +00:00
150d2fa114
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.
Denis Vlasenko
2007-07-17 20:39:27 +00:00
c5f2426838
fix discrepancy in GPL version number. Pointed out by "Marsh David" <dmarsh@bigw.com.au>
Denis Vlasenko
2007-07-16 22:21:15 +00:00
110967a6f7
top: nested function allows us to reuse some code (not everyone likes them - but code does get smaller).
Denis Vlasenko
2007-07-15 19:27:48 +00:00
24c5fbaf42
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
Denis Vlasenko
2007-07-15 19:25:01 +00:00
bdc406d15d
ash: make "jobs | cat" work like in bash (was giving empty output)
Denis Vlasenko
2007-07-15 01:13:25 +00:00
39125bec38
adduser: close /etc/{passwd,shadow} before calling passwd etc. Spotted by Natanael Copa <natanael.copa@gmail.com>
Denis Vlasenko
2007-07-14 22:51:28 +00:00
59a1f30450
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>
Denis Vlasenko
2007-07-14 22:43:10 +00:00
828e2a95da
nc: minor code shrink
Denis Vlasenko
2007-07-13 12:37:31 +00:00
8cc9cb8bc5
remove last source id
Mike Frysinger
2007-07-13 05:03:46 +00:00
d611cccd81
add support for --symbol-prefix/-P
Mike Frysinger
2007-07-13 04:37:12 +00:00
c540e75d74
fix applet order error
Denis Vlasenko
2007-07-06 16:57:06 +00:00
d166f83d74
md5_sha1_sum: fix mishandling when run as /bin/md5sum (with path) chown/chgrp: completely match coreutils 6.8 wrt symlink handling
Denis Vlasenko
2007-07-05 00:12:55 +00:00
42b3dea9bf
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
Denis Vlasenko
2007-07-03 15:47:50 +00:00
54e19da86d
correct_password: if password is 'x' or '*' and there is no shadow, use fake encrypted password 'aa' (which is guaranteed to fail password check).
Denis Vlasenko
2007-07-03 10:28:46 +00:00
a48369183b
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...)
Denis Vlasenko
2007-07-03 08:26:24 +00:00
e190c16636
correct_password: do not print "no shadow passwd..." message
Denis Vlasenko
2007-07-03 06:15:42 +00:00
c82b5108e1
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
Denis Vlasenko
2007-07-01 17:05:57 +00:00
dc757aa16c
introduce and use bb_basename()
Denis Vlasenko
2007-06-30 08:04:05 +00:00
f7d07b1723
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)
Denis Vlasenko
2007-06-30 08:03:26 +00:00
42ee26d00c
procps: shrink /proc scanning code a bit
Denis Vlasenko
2007-06-30 08:01:04 +00:00
ae7f7ebcb7
document firmware support
Mike Frysinger
2007-06-28 17:13:51 +00:00