Denys Vlasenko
adf922ec28
*: a few more NOINLINEs
...
function old new delta
print_linkinfo - 815 +815
do_msg - 783 +783
INET_setroute - 757 +757
varvalue - 746 +746
do_sem - 637 +637
inflate_codes - 617 +617
INET6_setroute - 491 +491
edir - 370 +370
sync_cursor - 298 +298
update_utmp - 246 +246
searchLines - 165 +165
setup_alarm - 144 +144
may_wakeup - 101 +101
getNum 566 371 -195
refresh 1166 848 -318
rtcwake_main 809 479 -330
getty_main 2396 1921 -475
chpst_main 1373 746 -627
inflate_unzip_internal 1335 567 -768
evalvar 1384 612 -772
ipaddr_list_or_flush 2160 1246 -914
route_main 1585 245 -1340
ipcs_main 2523 1049 -1474
------------------------------------------------------------------------------
(add/remove: 13/0 grow/shrink: 0/10 up/down: 6170/-7213) Total: -1043 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 14:35:37 +02:00
Denys Vlasenko
a7bb3c1396
*: code shrink via NOINLINE
...
function old new delta
expand_vars_to_list - 2118 +2118
lzo1x_optimize - 1429 +1429
run_pipe 358 1775 +1417
arith_apply - 1335 +1335
mainQSort3 - 1198 +1198
logdir_open - 1163 +1163
rewrite - 1039 +1039
dump_identity - 987 +987
do_shm - 884 +884
cpio_o - 863 +863
cpio_main 1450 560 -890
ipcs_main 3442 2523 -919
bb_dump_dump 2611 1488 -1123
process_dev 4572 3405 -1167
logdirs_reopen 1308 86 -1222
arith 2084 707 -1377
mainSort 2622 1202 -1420
do_lzo_compress 2276 799 -1477
run_list 2491 943 -1548
expand_variables 2280 135 -2145
------------------------------------------------------------------------------
(add/remove: 9/0 grow/shrink: 1/10 up/down: 12433/-13288) Total: -855 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-08 12:28:08 +02:00
Vladimir Dronnikov
be168b1197
wget: fix for code 302; mount: support -o union
...
Signed-off-by: Vladimir Dronnikov <dronnikov@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-10-05 02:18:01 +02:00
Denys Vlasenko
606291beab
*: more portability fixes by Dan Fandrich
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-23 23:15:43 +02:00
Denys Vlasenko
af3fd14e4d
hdparm,fdisk: reinstate BLKGETSIZE64 #defines. No code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-22 23:16:39 +02:00
Natanael Copa
9aff29997e
swaponoff: add uuid/label support. By Natanael Copa
...
function old new delta
swap_enable_disable 130 150 +20
resolve_mount_spec 76 96 +20
mount_main 1152 1154 +2
findfs_main 125 80 -45
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 42/-45) Total: -3 bytes
Signed-off-by: Natanael Copa <natanael.copa@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-20 04:28:22 +02:00
Denys Vlasenko
ddf7850f2b
fdisk: add a warning and truncate disks with >= 2^32 sectors
...
As a result, for sectors we can use uint32_t instead of long long,
and on 32 bits it has drastic effects:
function old new delta
get_geometry 619 646 +27
set_sun_partition 148 150 +2
get_partition 134 135 +1
xbsd_write_bootstrap 382 381 -1
xbsd_readlabel 247 246 -1
bsd_select 1674 1672 -2
sun_other_endian 4 1 -3
scsi_disk 4 1 -3
floppy 4 1 -3
fdisk_main 3735 3732 -3
read_maybe_empty 43 37 -6
create_doslabel 111 104 -7
read_line 97 88 -9
add_logical 117 107 -10
write_table 599 588 -11
new_partition 1684 1670 -14
list_disk_geometry 229 215 -14
wrong_p_order 130 110 -20
xselect 3142 3114 -28
seek_sector 71 40 -31
get_boot 1576 1533 -43
fill_bounds 174 128 -46
delete_partition 603 551 -52
list_table 1401 1232 -169
set_partition 459 286 -173
verify 1840 1495 -345
add_partition 2486 1270 -1216
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/24 up/down: 30/-2210) Total: -2180 bytes
text data bss dec hex filename
848812 460 7116 856388 d1144 busybox_old
846620 460 7108 854188 d08ac busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 03:03:13 +02:00
Denys Vlasenko
8dc0e1929e
use PACKED macro insted of open-coding GCC-ism
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-16 00:58:11 +02:00
Denys Vlasenko
ba98603264
mount: do not execute "mount.(null)" :)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-15 23:00:09 +02:00
Denys Vlasenko
043b1e5d99
more C standard compat fixes from Dan Fandrich
...
function old new delta
docolon 207 204 -3
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 12:47:55 +02:00
Denys Vlasenko
90a9904e9e
remove some GNUisms. by Dan Fandrich (dan AT coneharvesters.com)
...
function old new delta
logdirs_reopen 1310 1308 -2
read_line_input 4757 4753 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/2 up/down: 0/-6) Total: -6 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-09-06 02:36:23 +02:00
Denys Vlasenko
e531759ef1
fdisk: add handling of avr32. closes bug 555
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-08-10 00:08:35 +02:00
Denys Vlasenko
997538ab58
scriptreplay: show help text if run with no arguments
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-19 23:11:45 +02:00
Denys Vlasenko
6ae6426a74
fix mountpoint test to not prevemt mkfs_xxx from making image in any file
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18 16:22:26 +02:00
Denys Vlasenko
73b71f381d
date: factor out date parsing (in preparation for touch -d)
...
function old new delta
parse_datestr - 391 +391
sha512_process_block128 1283 1310 +27
buffer_fill_and_print 179 196 +17
nexpr 826 840 +14
unzip_main 1931 1939 +8
popstring 134 140 +6
qrealloc 33 36 +3
builtin_umask 121 123 +2
evalvar 1365 1363 -2
changepath 194 192 -2
do_compress 1698 1688 -10
hwclock_main 340 329 -11
cmdputs 414 402 -12
identify 4343 4329 -14
date_main 1186 687 -499
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 7/7 up/down: 468/-550) Total: -82 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-18 03:40:35 +02:00
Denys Vlasenko
860d2bbdda
fix fallout from BSD patches
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-10 18:37:06 +02:00
Denys Vlasenko
874201fee5
dmesg: try to detect buffer size
...
function old new delta
dmesg_main 214 246 +32
Signed-off-by: Randy Robertson <rmrobert@vmware.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-10 14:14:14 +02:00
Denys Vlasenko
da49f58524
move libc related stuff out of platform.h
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-08 02:58:38 +02:00
Denys Vlasenko
09e63bb81f
df: fix "df /"
...
also, clean up mount checks in mkfs/fsck.
function old new delta
find_mount_point 243 261 +18
sha1_process_block64 497 510 +13
find_main 436 444 +8
display_speed 85 90 +5
df_main 795 793 -2
parse_command 1463 1460 -3
static.ignored_mounts 8 - -8
mkfs_minix_main 2962 2937 -25
fsck_minix_main 3065 2970 -95
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 4/4 up/down: 44/-133) Total: -89 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-05 04:50:36 +02:00
Denys Vlasenko
b22bbfffec
fix dependencies of FEATURE_GETOPT_LONG
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-04 16:50:43 +02:00
Denys Vlasenko
5478aaf5b8
mdev: be more permissive on errors (dont die): mdev -s users want that
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-02 13:17:10 +02:00
Denys Vlasenko
90db359972
mdev: set $MDEV correctly for renamed nodes
...
function old new delta
make_device 1467 1502 +35
build_alias 78 - -78
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-07-02 13:07:11 +02:00
Denys Vlasenko
1881ba48b1
Update a comment, no code changes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-27 22:09:28 +02:00
Denys Vlasenko
4fc5ec56f9
device matching against UUIDs: do not try floppies
...
function old new delta
uuidcache_check_device 255 292 +37
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-27 21:58:25 +02:00
Denys Vlasenko
2f86ca1350
mdev: fix the case when move rule deletes node with name == device_name
...
Signed-off-by: Jean Wolter <jw5@os.inf.tu-dresden.de>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-22 01:31:12 +02:00
Denys Vlasenko
8e5d83b6c1
mkswap: remove configuration for v0 support
...
mkswap hasn't had v0 support since commit
d893b120bae5a9bdef4cfda2df5e62867d6b1cd0; it doesn't seem to make sense
to offer it for configuration.
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 13:45:01 +02:00
Denys Vlasenko
beca96ffa7
mkswap: separate UUID feature
...
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 13:14:48 +02:00
Denys Vlasenko
f3b92d3856
getopt: FEATURE_GETOPT_LONG for -l; rename GETOPT_LONG to LONG_OPTS
...
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 12:10:38 +02:00
Denys Vlasenko
e2e4cc249d
mount: support -i; pass through -f and -n to helpers as necessary
...
function old new delta
mount_it_now 298 345 +47
singlemount 776 772 -4
Signed-off-by: Colin Watson <cjwatson@ubuntu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 11:48:29 +02:00
Denys Vlasenko
b96159d663
mkswap: accidentally committed wrong patch. fix it up
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 11:00:52 +02:00
Denys Vlasenko
e1e2273076
mkswap: improve randomness of UUID generation set version/variant bits
...
function old new delta
mkswap_main 317 410 +93
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-19 09:49:01 +02:00
Denys Vlasenko
c9f280cc46
mkswap: generate UUID if CONFIG_DESKTOP=y. +110 bytes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-18 21:55:47 +02:00
Denys Vlasenko
a5bdbe1087
switch_root: allow /init to be a symlink; add doc (thanks Rob!)
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-17 14:03:24 +02:00
Denys Vlasenko
2634bf366b
randomconfig fixes
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-09 18:40:07 +02:00
Denys Vlasenko
53f1791212
*: reduce #ifdef forest
...
Remove unnecessary #if statements from the "more", "script", and
"scriptreplay" commands. Bloatcheck says 0 bytes changed.
Signed-off-by: Rob Landley <rob@landley.net>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05 14:55:26 +02:00
Denys Vlasenko
d5f1b1bbe0
*: add FAST_FUNC to function ptrs where it makes sense
...
function old new delta
evalcommand 1195 1209 +14
testcmd - 10 +10
printfcmd - 10 +10
echocmd - 10 +10
func_exec 270 276 +6
echo_dg 104 109 +5
store_nlmsg 85 89 +4
pseudo_exec_argv 195 198 +3
dotcmd 287 290 +3
machtime_stream 29 31 +2
discard_stream 24 26 +2
argstr 1299 1301 +2
killcmd 108 109 +1
evalfor 226 227 +1
daytime_stream 43 44 +1
run_list 2544 2543 -1
lookupvar 62 61 -1
ipaddr_modify 1310 1309 -1
...
parse_stream 2254 2245 -9
evalpipe 356 347 -9
collect_if 210 197 -13
read_opt 869 851 -18
handle_dollar 681 658 -23
print_addrinfo 1342 1303 -39
iterate_on_dir 156 59 -97
print_route 1709 1609 -100
------------------------------------------------------------------------------
(add/remove: 3/0 grow/shrink: 12/130 up/down: 74/-767) Total: -693 bytes
text data bss dec hex filename
841748 467 7872 850087 cf8a7 busybox_old
841061 467 7872 849400 cf5f8 busybox_unstripped
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-06-05 12:06:05 +02:00
Denys Vlasenko
5e61115ea4
scriptreplay: new applet. +423 bytes
...
Signed-off-by: Pascal Bellard <pascal.bellard@ads-lu.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-19 17:36:16 +02:00
Denys Vlasenko
810b7161dc
mount: save 80 bytes by forced de-inlining
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-13 23:48:59 +02:00
Denys Vlasenko
e71dd7c1db
mount: document when kernel started accepting string as NFS options
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-13 16:32:32 +02:00
Denys Vlasenko
76f5e38c82
mdev: revert last wrong commit
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-04 21:59:05 +02:00
Denys Vlasenko
aa0a12d549
mdev: do not exit if user:group parse failed. closes bug 309.
...
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
2009-05-02 16:33:10 +02:00
Denys Vlasenko
05ae400830
mdev: fix a case where we mangle device_path string and then use it.
2009-05-01 03:09:54 +02:00
Denis Vlasenko
1fd3b38fd1
*: bb_error_msg's messages should not be capitalized
2009-04-29 12:02:57 +00:00
Denis Vlasenko
e6b10ef0a7
switch_root: move misplaced comment
2009-04-21 20:52:58 +00:00
Denis Vlasenko
f9d4fc3cf8
switch_root: improve behavior on error; improve help text
...
*: make "can't execute '%s'" message uniform
2009-04-21 20:40:51 +00:00
Denis Vlasenko
5e34ff29bc
*: mass renaming of USE_XXXX to IF_XXXX
...
and SKIP_XXXX to IF_NOT_XXXX - the second one was especially
badly named. It was not skipping anything!
2009-04-21 11:09:40 +00:00
Denis Vlasenko
0ad8234474
switch_root: print errno on failure
2009-04-21 00:29:17 +00:00
Denis Vlasenko
11c17f75a7
mdev: enlarge inline documentation
2009-04-19 23:38:08 +00:00
Denis Vlasenko
3798db58cf
mdev: support $ENVVAR=regex
2009-04-19 21:37:07 +00:00
Denis Vlasenko
c7cc5a9432
mdev: Rob's #if forest removal
...
*: remove superfluous conts in "f(type *const param)"
2009-04-19 01:27:20 +00:00
Denis Vlasenko
6a07d1fb5c
acpid: prevent creation of zombies
2009-04-18 11:35:16 +00:00
Denis Vlasenko
5ff9629b8f
mdev: add large comment, fix a buglet with subsystem and /sys/block
2009-04-17 00:01:04 +00:00
Denis Vlasenko
3161b61199
mdev: set mode, needed when device node already exists.
2009-04-16 22:42:01 +00:00
Denis Vlasenko
6dda5dec23
mdev: change subsystem syntax from /subsystem to subsystem/devname
2009-04-16 21:42:12 +00:00
Denis Vlasenko
32a3d084d3
mdev: safer handling of $SUBSYSTEM in mdev -s
2009-04-14 21:23:33 +00:00
Denis Vlasenko
7f9593753a
randomconfig fixes
2009-04-14 08:06:59 +00:00
Denis Vlasenko
f2b39e088d
mdev: add support for - "dont stop here" char
...
function old new delta
make_device 1340 1362 +22
packed_usage 26291 26299 +8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/0 up/down: 30/0) Total: 30 bytes
2009-04-13 23:18:52 +00:00
Denis Vlasenko
065c714791
mdev: provide $SUBSYSTEM (by Vladimir)
...
function old new delta
make_device 1265 1340 +75
dirAction 14 60 +46
mdev_main 676 695 +19
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/0 up/down: 140/0) Total: 140 bytes
2009-04-13 22:23:02 +00:00
Denis Vlasenko
323cbbfaa2
mdev: fix a bug where \t is not treated as delimiter after [>|=PATH]
2009-04-13 13:59:26 +00:00
Denis Vlasenko
aafbae6181
mdev: make usage text more useful
...
function old new delta
packed_usage 26235 26291 +56
2009-04-13 13:33:02 +00:00
Denis Vlasenko
1fb26da071
mdev: ignore events with "$SUBSYSTEM" == "firmware" && "$ACTION" == "remove"
...
function old new delta
mdev_main 665 676 +11
2009-04-13 02:15:57 +00:00
Denis Vlasenko
f1df35c40b
mdev: do not complain if /sys/block doesn't exist
2009-04-12 14:00:12 +00:00
Denis Vlasenko
5c32993009
mount: users report that CIFS support is breaking things,
...
mostly remove it.
2009-04-12 12:16:21 +00:00
Denis Vlasenko
f81e8dbc74
*: make "pragma GCC visibility push(hidden)" less ugly
2009-04-09 12:35:13 +00:00
Denis Vlasenko
551ffdccea
more of pointless whitespace fixes
2009-04-01 19:48:05 +00:00
Denis Vlasenko
9983d806d9
volumeid: fix bug 249 "findfs finds the wrong partition"
2009-03-31 19:47:34 +00:00
Denis Vlasenko
a2333c8938
randomtest fixes
2009-03-28 19:08:23 +00:00
Denis Vlasenko
781b672b37
mkfs.vfat: fix a problem with over-estimating FAT size
2009-03-28 12:17:20 +00:00
Denis Vlasenko
f54dd09171
mkfs.vfat: mkdosfs compat with choosing clyster size
2009-03-28 03:22:08 +00:00
Denis Vlasenko
14ee4e65f1
mkfs.vfat: more of pointless tweaking
2009-03-28 02:28:58 +00:00
Denis Vlasenko
020f465cbd
mkfs.vfat: small tweak to comments
2009-03-28 02:18:49 +00:00
Denis Vlasenko
9d04b6b630
mkdosfs (aka mkfs.vfat): new applet by Vladimir
...
text data bss dec hex filename
821202 476 7616 829294 ca76e busybox_old
823577 476 7616 831669 cb0b5 busybox_unstripped
2009-03-28 02:13:01 +00:00
Denis Vlasenko
7aaedcf21e
mount: support "-O option"; stop trying to mount swap partitions
...
function old new delta
mount_main 975 1152 +177
umount_main 640 636 -4
packed_usage 25666 25662 -4
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 177/-8) Total: 169 bytes
2009-03-14 22:57:20 +00:00
Denis Vlasenko
9604e1b8fc
modprobe: emit "can't open 'modules.dep': (errno)" instead of "module not found"
...
*: s/can't open %s/can't open '%s'/, it's better to use same string.
function old new delta
do_modprobe 588 601 +13
config_file_action 339 345 +6
modprobe_main 565 570 +5
unable_to_open 14 16 +2
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/0 up/down: 26/0) Total: 26 bytes
text data bss dec hex filename
816800 476 7892 825168 c9750 busybox_old
816812 476 7892 825180 c975c busybox_unstripped
2009-03-03 18:47:56 +00:00
Denis Vlasenko
f09f4e015b
runsv: small optimization
...
*: more paranoia around passing NULL to execl[e]
function old new delta
custom 240 221 -19
2009-02-26 12:29:59 +00:00
Bernhard Reutner-Fischer
7307e06122
- bail out if screen resolution does not match PPM dimensions.
...
Previously a 640x480 PPM on an e.g. 720x400 console would just segfault when
reading the lines. While this bug should perhaps be fixed to handle such cases
properly we just exit gracefully until somebody is willing to take care of it
properly.
2009-02-18 15:28:43 +00:00
Denis Vlasenko
28ea4298e3
volume_id: abort early on read failures.
...
should help with probing missing fdd's
2009-02-15 05:51:19 +00:00
Denis Vlasenko
d63cd1bf1c
mdev: if /sys/class/block exists, don't scan /sys/block
2009-02-13 00:02:54 +00:00
Denis Vlasenko
04158e0459
udhcpd: add code which rejects lease files with suspicious or old timestamp.
...
*: s/time(0)/time(NULL)/g
2009-02-02 10:48:06 +00:00
Denis Vlasenko
319fe129a1
mdev: fix breakage caused by unified parser usage
2009-01-12 07:57:52 +00:00
Mike Frysinger
870ccd7212
do not whine if /sys/block does not exist ... embedded systems dont need stinkin block devices
2009-01-08 17:19:01 +00:00
Denis Vlasenko
76ddc2e3e4
libbb: add bb_unsetenv (taken from hush).
...
udhcpc: stop filtering environment passed to the script.
crond: fix uncovered potential bug (failing unsetenv)
mdev: fix uncovered potential bug (failing unsetenv)
tcp, udpsvd: fix uncovered potential bug (failing unsetenv)
function old new delta
safe_setenv - 58 +58
bb_unsetenv - 55 +55
builtin_unset 139 138 -1
tcpudpsvd_main 1843 1830 -13
free_strings_and_unsetenv 87 53 -34
udhcp_run_script 1186 1133 -53
safe_setenv4 62 - -62
------------------------------------------------------------------------------
(add/remove: 2/1 grow/shrink: 0/4 up/down: 113/-163) Total: -50 bytes
2008-12-30 05:05:31 +00:00
Denis Vlasenko
6a2d0d9b8d
mount: make it more readable
2008-12-10 11:39:18 +00:00
Denis Vlasenko
3f8f4b2a93
placate Rob's qualms about mount.c
2008-12-10 11:28:30 +00:00
Denis Vlasenko
efb545b9bd
optimize 16- and 32-bit moves
...
function old new delta
udhcpd_main 1239 1257 +18
udhcp_add_simple_option 93 92 -1
buffer_read_le_u32 19 18 -1
unpack_gz_stream_with_info 526 520 -6
dnsd_main 1470 1463 -7
udhcp_run_script 1208 1186 -22
send_ACK 255 229 -26
arping_main 1661 1623 -38
send_offer 470 428 -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/8 up/down: 18/-143) Total: -125 bytes
2008-12-08 22:56:18 +00:00
Denis Vlasenko
db12d1d733
Fix forgotten license comments
2008-12-07 00:52:58 +00:00
Denis Vlasenko
30e5cf8875
mount: cosmetics, no code changes (verified with objdump -drsx)
2008-12-05 16:40:36 +00:00
Denis Vlasenko
1e10afcdfb
volume_id/fat: careful with sector#, it may not fit in 32 bits. +91 bytes
...
volume_id/*: a bit of code shrink
2008-11-30 17:41:31 +00:00
Denis Vlasenko
d16950ded9
acpid: new applet by Vladimir. +737 bytes
2008-11-29 09:05:50 +00:00
Denis Vlasenko
61befda93b
ash,hush: add TODO for rare build failure
...
*: remove some redundant includes
2008-11-25 01:36:03 +00:00
Denis Vlasenko
12ff9dc714
networking/interface.c: better readability (by Walter Harms)
...
mkfs_minix: whitespace fix
2008-11-22 18:58:11 +00:00
Denis Vlasenko
3fa36e2350
*: a bit of code shrink
...
function old new delta
stop_handler 41 38 -3
sulogin_main 508 504 -4
got_cont 4 - -4
cont_handler 11 - -11
startservice 309 297 -12
processorstart 423 409 -14
tcpudpsvd_main 1861 1843 -18
------------------------------------------------------------------------------
(add/remove: 0/2 grow/shrink: 0/5 up/down: 0/-66) Total: -66 bytes
2008-11-09 00:15:11 +00:00
Denis Vlasenko
35a064b67f
build system: tidying up CONFIG_xxx names (suggested by Rob)
2008-11-06 00:49:59 +00:00
Denis Vlasenko
202ac504e1
*: code shrink by adding a wrapper around very common tcsetattr(0, TCSANOW, xx) op
...
function old new delta
tcsetattr_stdin_TCSANOW - 14 +14
set_sane_term 116 113 -3
top_main 1277 1273 -4
make_new_session 421 415 -6
rawmode 133 126 -7
reset_term 18 10 -8
die 43 35 -8
cookmode 62 54 -8
vlock_main 425 415 -10
read_line_input 3165 3155 -10
bb_askpass 357 347 -10
fsck_minix_main 3079 3065 -14
getty_main 2375 2332 -43
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/12 up/down: 14/-131) Total: -117 bytes
2008-11-05 13:20:58 +00:00
Denis Vlasenko
9504e444b8
whitespace fixes, no code changes
2008-10-29 01:19:15 +00:00
Denis Vlasenko
7effd7ae99
getopt: reinstate erroneously removed getopt() reset code.
2008-10-21 12:36:43 +00:00
Denis Vlasenko
d1660cb9ad
ash: fix a bug in standalone mode (corrupted getopt() state)
2008-10-20 07:52:33 +00:00
Denis Vlasenko
802a7be54f
add comment explaining previous change
2008-10-19 19:54:49 +00:00
Denis Vlasenko
582dff0514
volume identification: abolish /proc/partitions and /proc/cdroms
...
scanning. It does not catch volume managers and such.
Adding even more cruft is bad, so I decided to simply
scan /dev/* for any block devices. See how much better
it finds devices now:
# ./busybox_old blkid
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/sdb1: UUID="6F84-ED0F"
# ./busybox blkid
/dev/sdb1: UUID="6F84-ED0F"
/dev/root: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/dm-1: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/dm-0: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
/dev/sda1: LABEL="/boot" UUID="7931e231-dcb4-4b6d-9301-f7354ae24061"
/dev/mapper/VolGroup00-LogVol01: UUID="edc2a920-ef83-437e-ba64-d3b6dc851267"
/dev/mapper/VolGroup00-LogVol00: LABEL="Fedora-9-Live-x8" UUID="bb491e1e-1145-4f5b-b0ab-cbd2baf4f15a"
function old new delta
static.drive_name_string 12 - -12
append_mount_options 205 190 -15
volume_id_open_node 37 18 -19
uuidcache_check_device 485 257 -228
uuidcache_init 637 36 -601
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/4 up/down: 0/-875) Total: -875 bytes
text data bss dec hex filename
792218 592 6648 799458 c32e2 busybox_old
791260 592 6648 798500 c2f24 busybox_unstripped
2008-10-19 19:36:30 +00:00
Denis Vlasenko
bff06fe02a
blkid: vda forgot to svn add it again. vda is stupid
2008-10-19 17:47:31 +00:00
Denis Vlasenko
f9dde919d6
mount: -o parm1 -o parm2 should accumulate
2008-10-18 19:15:57 +00:00
Denis Vlasenko
22d10a0292
hush: fix trashing of environment by local env vars:
...
a=a; a=b cmd; - a was unset!
+57 bytes
function old new delta
add_string_to_strings - 110 +110
putenv_all - 27 +27
run_list 2086 2111 +25
free_strings - 7 +7
free_pipe 210 208 -2
add_malloced_string_to_strings 110 - -110
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 1/1 up/down: 169/-112) Total: 57 bytes
2008-10-13 08:53:43 +00:00
Denis Vlasenko
1e19afd38a
blkid: new applet. We almost had everything needed for it already
...
function old new delta
display_uuid_cache - 89 +89
blkid_main - 8 +8
applet_names 1871 1877 +6
applet_main 1140 1144 +4
applet_nameofs 570 572 +2
packed_usage 24737 24735 -2
------------------------------------------------------------------------------
(add/remove: 2/0 grow/shrink: 3/1 up/down: 109/-2) Total: 107 bytes
2008-10-12 11:20:08 +00:00
Denis Vlasenko
d5e305944a
findfs: fix LUKS and FAT detection routines; do not exit if corrupted
...
FAT fs makes us try to seek past volume
function old new delta
volume_id_get_buffer 301 327 +26
volume_id_probe_luks 79 82 +3
get_attr_volume_id 73 65 -8
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 29/-8) Total: 21 bytes
2008-10-12 11:17:49 +00:00
Bernhard Reutner-Fischer
6c4dadefb6
- update my name. No obj-code changes ;)
2008-09-25 12:13:34 +00:00
Denis Vlasenko
8d89bed840
watchdog: add -T option
...
function old new delta
watchdog_main 159 219 +60
mdev: support match by major,minor. See bug 4714.
+100 bytes.
2008-09-07 23:22:08 +00:00
Denis Vlasenko
b66d16a2e6
fbset: fix mode matching code: original code may trigger false positive.
...
E.g. fbset -n '16bit'
succeeded at 'mode "640x480 16bit"' and that is wrong.
Also parser is rewritten. By Vladimir.
function old new delta
static.syncs - 20 +20
g_options 4 - -4
g_cmdoptions 432 385 -47
fbset_main 1842 1642 -200
2008-08-24 16:25:40 +00:00
Denis Vlasenko
7fe21c69cd
setarch: do not try to use non-existent data in argv[]
2008-08-23 23:15:17 +00:00
Bernhard Reutner-Fischer
c77e843c09
- add new applet rdev (Grant Erickson)
...
- fixes and shrink (me)
2008-08-19 11:28:52 +00:00
Bernhard Reutner-Fischer
fb5902ca5c
- support relatime / norelatime
2008-08-06 18:14:38 +00:00
Denis Vlasenko
27842288b3
libbb: make xrealloc_vector zero out the realloc'ed tail
...
function old new delta
xrealloc_vector_helper 51 76 +25
man_main 712 705 -7
act 250 234 -16
create_list 91 70 -21
getopt_main 695 664 -31
load_dep_bb 281 248 -33
fileAction 744 709 -35
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/6 up/down: 25/-143) Total: -118 bytes
2008-08-04 13:20:36 +00:00
Denis Vlasenko
d91afa33fd
randomconfig fixes
2008-07-29 11:10:01 +00:00
Denis Vlasenko
8d523cbcd7
fbset: shrink code a bit more
2008-07-27 21:16:30 +00:00
Denis Vlasenko
09f5ecfa47
fbset: code shrink
...
function old new delta
ss - 33 +33
fbset_main 1968 1844 -124
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 33/-124) Total: -91 bytes
2008-07-27 20:25:29 +00:00
Denis Vlasenko
084266ed52
fix several problems with config parser:
...
a bug where it underflows the string
a bug where it never frees parser_t struct
make read_config() return 0 if parser is NULL,
make config_close() accept and ignore NULL parser -
eliminates many if() blocks
reverse the sense of parser bit flags - negative flags
are harder to grok.
hexdump: revert the change to use config parser, it is BIGGER
and also requires additional quirks in parser
*: explicitly use PARSER_NORMAL instead of 0
function old new delta
login_main 1575 1596 +21
config_close 18 29 +11
bbunpack 383 391 +8
qgravechar 106 109 +3
rtnl_tab_initialize 121 117 -4
expand 1697 1693 -4
man_main 717 712 -5
nameif_main 674 668 -6
hexdump_main 597 591 -6
read_config 217 209 -8
dnsd_main 1478 1470 -8
sysctl_main 203 189 -14
config_open2 44 25 -19
make_device 1177 1141 -36
config_read 597 549 -48
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 4/11 up/down: 43/-158) Total: -115 bytes
2008-07-26 23:08:31 +00:00
Denis Vlasenko
df96df9c7c
mdev: do not complain if mdev.conf does not exist;
...
use #if to prevent gcc from generating dead code
(sadly, it's more ugly this way)
2008-07-26 18:35:10 +00:00
Bernhard Reutner-Fischer
e99a92dc2f
- strip implied proto and superfluous "www." domain part.
...
If my lynx groks it, your browser will too ;)
2008-07-22 18:32:06 +00:00
Bernhard Reutner-Fischer
3e8669f359
- wrap overlong lines (Cristian Ionescu-Idbohrn)
...
- s/\. /. /g;# (me)
2008-07-22 18:27:53 +00:00
Bernhard Reutner-Fischer
b62bd7b261
- unused variables if !ENABLE_FEATURE_MDEV_RENAME_REGEXP
2008-07-22 07:33:53 +00:00
Denis Vlasenko
5415c856ea
libbb: [x]fopen_for_{read,write} introduced and used.
...
(by Valdimir)
function old new delta
config_open2 - 41 +41
config_read 507 542 +35
find_pair 169 187 +18
fopen_for_write - 14 +14
fopen_for_read - 14 +14
find_main 406 418 +12
xfopen_for_write - 10 +10
xfopen_for_read - 10 +10
popstring 134 140 +6
parse_inittab 396 401 +5
next_token 923 928 +5
pack_gzip 1659 1661 +2
bb__parsespent 117 119 +2
fallbackSort 1719 1717 -2
evalvar 1376 1374 -2
qrealloc 36 33 -3
...
...
...
...
singlemount 4579 4569 -10
process_stdin 443 433 -10
patch_main 1111 1101 -10
ifupdown_main 2175 2165 -10
file_action_grep 90 80 -10
uuidcache_init 649 637 -12
hush_main 797 785 -12
read_config 230 217 -13
dpkg_main 3835 3820 -15
read_line_input 3134 3110 -24
sysctl_main 232 203 -29
config_open 40 10 -30
WARN_BAD_LINE 44 - -44
login_main 1714 1575 -139
------------------------------------------------------------------------------
(add/remove: 5/1 grow/shrink: 8/74 up/down: 174/-737) Total: -563 bytes
2008-07-21 23:05:26 +00:00
Bernhard Reutner-Fischer
1d4cd606a1
- commentary typo fix
2008-07-21 15:29:36 +00:00
Bernhard Reutner-Fischer
a53de7f7c2
- fix spelling
2008-07-21 13:46:54 +00:00
Bernhard Reutner-Fischer
e1e5174942
- s/super.block/superblock/g; # for consistency; -1b
2008-07-21 13:33:22 +00:00
Denis Vlasenko
c29684afd6
mount: support nfs mount option nordiplus.
...
By Octavian Purdila <opurdila AT ixiacom.com>
function old new delta
static.options 272 281 +9
daemonize 130 107 -23
singlemount 4674 4579 -95
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/2 up/down: 9/-118) Total: -109 bytes
2008-07-19 22:40:30 +00:00
Denis Vlasenko
2e157ddf9e
libbb: updated config_parse() from Vladimir
...
function old new delta
config_read 385 460 +75
runsvdir_main 1701 1716 +15
readit 331 338 +7
passwd_main 1049 1053 +4
parse_command 1504 1507 +3
decode_format_string 822 824 +2
bb__parsespent 117 119 +2
udhcp_get_option 221 222 +1
changepath 196 194 -2
parse_inittab 400 396 -4
nameif_main 683 679 -4
make_device 1176 1172 -4
config_open 48 40 -8
expand_main 698 689 -9
readcmd 1012 1002 -10
config_free_data 37 21 -16
SynchronizeFile 683 643 -40
sleep_main 474 362 -112
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 8/10 up/down: 109/-209) Total: -100 bytes
2008-07-19 09:27:19 +00:00
Bernhard Reutner-Fischer
679212836a
- fix segfault in nameif with mactab file
...
(by fixing and shrink config parser)
function old new delta
config_free_data - 37 +37
config_open 43 48 +5
pack_gzip 1658 1660 +2
nameif_main 527 525 -2
SynchronizeFile 629 623 -6
make_device 1184 1176 -8
config_close 31 18 -13
config_read 431 393 -38
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 2/5 up/down: 44/-67) Total: -23 bytes
2008-07-17 11:59:13 +00:00
Denis Vlasenko
fb1642f2ca
fix up callsites of config_read to check for >= 0
2008-07-16 23:04:49 +00:00
Denis Vlasenko
55f7912dda
libbb: get rid of statics in dump.c; code shrinks a lot too
...
function old new delta
alloc_dumper - 26 +26
hexdump_main 600 601 +1
static.done 1 - -1
static.ateof 1 - -1
bb_dump_vflag 1 - -1
static.savp 4 - -4
static.nextfs 4 - -4
static.curp 4 - -4
exitval 4 - -4
endfu 4 - -4
bb_dump_length 4 - -4
bb_dump_fshead 4 - -4
bb_dump_blocksize 4 - -4
_argv 4 - -4
bb_dump_add 365 358 -7
savaddress 8 - -8
eaddress 8 - -8
bb_dump_skip 8 - -8
address 8 - -8
bb_dump_dump 2748 2672 -76
next 538 445 -93
------------------------------------------------------------------------------
(add/remove: 1/16 grow/shrink: 1/3 up/down: 27/-247) Total: -220 bytes
text data bss dec hex filename
789458 607 6764 796829 c289d busybox_old
789309 601 6696 796606 c27be busybox_unstripped
2008-07-16 11:00:16 +00:00
Denis Vlasenko
018bee6afb
mdev: support for serializing hotplug
...
function old new delta
mdev_main 503 647 +144
2008-07-15 22:33:13 +00:00
Denis Vlasenko
e559e0a757
libbb: unified config parser (By Vladimir Dronnikov)
...
mdev: use it
function old new delta
config_read - 400 +400
config_open - 43 +43
config_close - 9 +9
qrealloc 33 36 +3
compare_keys 735 737 +2
xstrtoull_range_sfx 296 295 -1
qgravechar 109 106 -3
get_address 181 178 -3
next_token 928 923 -5
sv_main 1228 1222 -6
find_main 418 406 -12
next_field 32 - -32
make_device 1269 1184 -85
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/7 up/down: 457/-147) Total: 310 bytes
2008-07-15 21:09:30 +00:00
Denis Vlasenko
a87045ce37
mdev: check for "/block/" substring for block dev detection
...
function old new delta
make_device 1294 1269 -25
2008-07-12 10:28:41 +00:00
Denis Vlasenko
d9860487e0
mdev: if device was moved at creation, at removal coreectly remove
...
it from moved location and also remove symlinks to it
function old new delta
build_alias - 78 +78
mdev_main 505 503 -2
make_device 1300 1294 -6
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/2 up/down: 78/-8) Total: 70 bytes
2008-07-12 10:23:16 +00:00
Denis Vlasenko
39acf45335
switch_root: shrink
...
function old new delta
switch_root_main 402 401 -1
rootdev 8 - -8
delete_contents 226 179 -47
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 0/2 up/down: 0/-56) Total: -56 bytes
2008-07-11 23:44:50 +00:00
Denis Vlasenko
9764d6908a
fdisk: fix compile failure
2008-07-09 21:20:50 +00:00
Denis Vlasenko
deeed59de0
libbb: introduce and use xrealloc_vector
...
function old new delta
xrealloc_vector_helper - 51 +51
create_list 84 99 +15
getopt_main 690 695 +5
passwd_main 1049 1053 +4
get_cached 85 89 +4
msh_main 1377 1380 +3
add_match 42 41 -1
read_lines 720 718 -2
grave 1068 1066 -2
fill_match_lines 143 141 -2
add_to_dirlist 67 65 -2
add_input_file 49 47 -2
act 252 250 -2
fsck_main 2252 2246 -6
man_main 765 757 -8
bb_internal_initgroups 228 220 -8
cut_main 1052 1041 -11
add_edge_to_node 55 43 -12
dpkg_main 3851 3835 -16
ifupdown_main 2202 2178 -24
sort_main 838 812 -26
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 5/15 up/down: 82/-124) Total: -42 bytes
2008-07-08 05:14:36 +00:00
Denis Vlasenko
580ce2d138
mount: support for "-o mand"
2008-07-08 02:56:53 +00:00
Denis Vlasenko
67075bb95f
mdev: reinstate "follow symlinks" flag, this time with explanation
2008-07-06 17:00:49 +00:00
Denis Vlasenko
d48e81f0cd
mdev: do not follow symlinks in /sys (as was intended prior to rev 18811).
...
If this breaks things, please document why!
mdev,init: use shared code for fd sanitization
function old new delta
bb_daemonize_or_rexec 155 172 +17
mdev_main 500 505 +5
init_main 907 856 -51
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 2/1 up/down: 22/-51) Total: -29 bytes
2008-07-06 07:00:11 +00:00
Denis Vlasenko
a60f84ebf0
*: rename ATTRIBUTE_XXX to just XXX.
2008-07-05 09:18:54 +00:00
Denis Vlasenko
82604e9730
revert last two commits. vfork cannot be used in subroutine,
...
it trashes stack on return
2008-07-01 15:59:42 +00:00
Denis Vlasenko
58d60c3333
*: introduce and use xfork()
...
function old new delta
xfork - 20 +20
msh_main 1377 1380 +3
mod_process 455 446 -9
forkexit_or_rexec 30 17 -13
expand_variables 1434 1421 -13
open_transformer 91 76 -15
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 1/4 up/down: 23/-50) Total: -27 bytes
2008-07-01 11:11:24 +00:00
Denis Vlasenko
3da5572bfa
*: introduce and use xvfork()
...
function old new delta
time_main 1052 1285 +233
crontab_main 623 856 +233
ifupdown_main 2202 2403 +201
xvfork - 20 +20
passwd_main 1049 1053 +4
grave 1068 1066 -2
script_main 935 921 -14
vfork_or_die 20 - -20
vfork_compressor 206 175 -31
open_as_user 109 - -109
popen2 218 - -218
edit_file 910 690 -220
run_command 268 - -268
------------------------------------------------------------------------------
(add/remove: 1/4 grow/shrink: 4/4 up/down: 691/-882) Total: -191 bytes
2008-07-01 10:40:41 +00:00
Denis Vlasenko
270d5d75f1
fdisk: cosmetics, and removal of dead data
2008-06-29 05:16:45 +00:00
Denis Vlasenko
6eaf0a9883
fdisk: move more data to struct globals; shrink code
...
function old new delta
nowarn 1 - -1
listing 1 - -1
dos_compatible_flag 1 - -1
warn_cylinders 44 42 -2
open_list_and_close 364 362 -2
fdisk_fatal 41 38 -3
verify 1053 1049 -4
user_sectors 4 - -4
user_heads 4 - -4
user_cylinders 4 - -4
pt_sectors 4 - -4
pt_heads 4 - -4
kern_sectors 4 - -4
kern_heads 4 - -4
ext_index 4 - -4
total_number_of_sectors 8 - -8
extended_offset 8 - -8
create_doslabel 129 120 -9
write_table 225 211 -14
delete_partition 445 431 -14
set_partition 476 459 -17
list_disk_geometry 247 229 -18
unable_to_write 19 - -19
add_partition 2515 2486 -29
get_boot 1709 1636 -73
fdisk_main 2812 2679 -133
------------------------------------------------------------------------------
(add/remove: 0/14 grow/shrink: 0/12 up/down: 0/-388) Total: -388 bytes
text data bss dec hex filename
804634 611 6852 812097 c6441 busybox_old
804298 610 6804 811712 c62c0 busybox_unstripped
2008-06-29 05:10:47 +00:00
Denis Vlasenko
defc1ea340
*: introduce and use FAST_FUNC: regparm on i386, otherwise no-on
...
text data bss dec hex filename
808035 611 6868 815514 c719a busybox_old
804472 611 6868 811951 c63af busybox_unstripped
2008-06-27 02:52:20 +00:00
Denis Vlasenko
f5d8c90d73
style fixes, no code changes
2008-06-26 14:32:57 +00:00
Denis Vlasenko
e06f61d273
mkfs_minix, fsck_minix: code shrink
...
function old new delta
fsck_minix_main 3092 3094 +2
next 539 538 -1
get_free_block 165 164 -1
check_zone_nr2 121 120 -1
alarm_intr 94 93 -1
recursive_check2 587 583 -4
recursive_check 587 583 -4
mkfs_minix_main 2974 2968 -6
map_block 237 231 -6
map_block2 341 333 -8
bad_zone 64 56 -8
write_block 619 610 -9
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 1/11 up/down: 2/-49) Total: -47 bytes
2008-06-25 10:00:58 +00:00
Denis Vlasenko
7049ff8696
whitespace fixes. no code changes
2008-06-25 09:53:17 +00:00
Denis Vlasenko
f26e3d2e41
mount: fix mishandling of proto=tcp/udp
...
function old new delta
singlemount 4729 4695 -34
2008-06-24 21:39:32 +00:00
Denis Vlasenko
d0cc3f4ade
mount: code shrink without logic changes. Added a comment
...
on possible mismatch with util-linux in -o remount handling.
function old new delta
mount_main 995 953 -42
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-42) Total: -42 bytes
2008-06-24 18:59:59 +00:00