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
b62bd7b261
- unused variables if !ENABLE_FEATURE_MDEV_RENAME_REGEXP
2008-07-22 07:33:53 +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
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
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
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
7049ff8696
whitespace fixes. no code changes
2008-06-25 09:53:17 +00:00
Denis Vlasenko
f4e6bd0bf3
mdev: add commented-out debug code to open stdio.
2008-05-31 18:27:58 +00:00
Denis Vlasenko
e94a87134d
mdev: fix counting of '%' in pattern
2008-05-24 16:46:13 +00:00
Denis Vlasenko
ff9234948e
mdev: fix whitespace damage
2008-05-23 20:36:33 +00:00
Denis Vlasenko
a959a2abdd
mdev: suppress "may be used uninitialized" warning
2008-05-22 21:35:16 +00:00
Denis Vlasenko
4801441e9a
mdev: add support for "only rename" option in mdev.conf
2008-05-22 17:49:58 +00:00
Denis Vlasenko
77ad97f199
more -Wall warning fixes from Cristian Ionescu-Idbohrn.
...
This time it resulted in small code changes:
function old new delta
nexpr 820 828 +8
tail_main 1200 1202 +2
wrapf 166 167 +1
parse_mount_options 227 209 -18
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/1 up/down: 11/-18) Total: -7 bytes
2008-05-13 02:27:31 +00:00
Denis Vlasenko
4579e9c1c8
mdev: /sys/class/block/ are also block devices
...
function old new delta
make_device 1200 1221 +21
2008-05-08 21:49:28 +00:00
Denis Vlasenko
32dcc53b71
mdev: fix a bug where we were eating argv[0] of helper
2008-05-02 13:21:24 +00:00
Denis Vlasenko
1f228985b2
whitespace fixes. no code changes
2008-04-22 00:16:29 +00:00
Denis Vlasenko
f2f3868e0d
mdev: optional support for regex pattern group substitution.
...
+142 bytes.
2008-03-29 17:26:10 +00:00
Denis Vlasenko
aa8a601084
mdev: fix block/char device detection. Closes bug 2144.
2008-03-29 16:07:46 +00:00
Denis Vlasenko
cae11b51aa
mdev: fix "foo 0:0 444 >bar/baz" rule handling. make_device() +23 bytes
2008-03-29 15:11:07 +00:00
Denis Vlasenko
4461564c77
mdev: fix a bug where it was not stopping on first matching rule
...
(testsuite entry added). Revamped line parsing while at it.
function old new delta
next_field - 36 +36
make_device 1104 1022 -82
------------------------------------------------------------------------------
(add/remove: 1/0 grow/shrink: 0/1 up/down: 36/-82) Total: -46 bytes
2008-03-29 13:10:57 +00:00
Denis Vlasenko
cf26ab70c1
mdev: plug a few memory and fd leaks; simplify code a bit
2008-03-27 22:45:44 +00:00
Denis Vlasenko
8ee649a02e
*: more uniform naming: s/xmalloc_getline/xmalloc_fgetline/
2008-03-26 20:04:27 +00:00
Denis Vlasenko
68404f13d4
*: add -Wunused-parameter; fix resulting breakage
...
function old new delta
procps_scan 1265 1298 +33
aliascmd 278 283 +5
parse_file_cmd 116 120 +4
dname_enc 373 377 +4
setcmd 90 93 +3
execcmd 57 60 +3
count_lines 72 74 +2
process_command_subs 340 339 -1
test_main 409 407 -2
mknod_main 179 177 -2
handle_incoming_and_exit 2653 2651 -2
argstr 1312 1310 -2
shiftcmd 131 128 -3
exitcmd 46 43 -3
dotcmd 297 294 -3
breakcmd 86 83 -3
evalpipe 353 349 -4
evalcommand 1180 1176 -4
evalcmd 109 105 -4
send_tree 374 369 -5
mkfifo_main 82 77 -5
evalsubshell 152 147 -5
typecmd 75 69 -6
letcmd 61 55 -6
add_cmd 1190 1183 -7
main 891 883 -8
ash_main 1415 1407 -8
parse_stream 1377 1367 -10
alloc_procps_scan 55 - -55
------------------------------------------------------------------------------
(add/remove: 0/1 grow/shrink: 7/21 up/down: 54/-148) Total: -94 bytes
text data bss dec hex filename
797195 658 7428 805281 c49a1 busybox_old
797101 658 7428 805187 c4943 busybox_unstripped
2008-03-17 09:00:54 +00:00
Mike Frysinger
ae86a338b8
[ #1334 ] exec script for devices even if they dont have device nodes
2008-02-20 18:31:36 +00:00
Denis Vlasenko
cb448fe01b
libbb: introduce and use xrename and rename_or_warn.
2008-02-17 14:28:53 +00:00
Mike Frysinger
f0044c480c
add support for renaming/relocating device nodes
2008-02-01 06:53:50 +00:00
Mike Frysinger
46ef46aefb
as reported by George Boudreau, make sure we properly skip blank lines
2008-01-23 18:48:26 +00:00
Denis Vlasenko
ee87ebf381
fix buglets found by randomconfig
2007-12-21 22:18:16 +00:00
Mike Frysinger
c881c733bb
cleanup comments and coding style and rewrite the mdev.conf parser to use common busybox functions and call strdup() less often ... saves a ~few hundred bytes
2007-11-19 09:04:22 +00:00
Denis Vlasenko
9b49a5ed85
add -fvisibility=hidden to CC flags, mark XXX_main functions
...
EXTERNALLY_VISIBLE. 5% size reduction of libbusybox.so
2007-10-11 10:05:36 +00:00
Denis Vlasenko
6ca409e0e4
trylink: produce even more info about final link stage
...
trylink: explain how to modify link and drastically decrease amount
of padding (unfortunately, needs hand editing ATM).
*: add ALIGN1 / ALIGN2 to global strings and arrays of bytes and shorts
size saving: 0.5k
2007-08-12 20:58:27 +00:00
Denis Vlasenko
dc757aa16c
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
2007-06-30 08:04:05 +00:00
Bernhard Reutner-Fischer
bb0baed564
- strndupa is a GNU extension. Using strdup to avoid several errors like:
...
util-linux/mdev.c:(.text+0x29a): undefined reference to `strndupa'
2007-06-20 09:56:47 +00:00
Mike Frysinger
0e0639b702
Alex Landau writes: open firmware for reading, not writing
2007-06-14 09:29:48 +00:00
Mike Frysinger
b51fd3525e
as suggested by Renaud Cerrato and Souf, switch over to recursive_action() for some nice shrinkage and so we work even when CONFIG_SYSFS_DEPRECATED is off
2007-06-13 09:24:50 +00:00
Mike Frysinger
a78ef2ccf1
add support for firmware loading
2007-06-13 07:34:15 +00:00
Denis Vlasenko
d6766c71a9
mdev: microscopic enhancement, should change nothing
2007-06-08 16:18:15 +00:00
Denis Vlasenko
4e5f82c76f
find_stray_communal_vars: script which finds communal variables
...
resize: remove globals var
mdev: remove globals var
2007-06-03 22:30:22 +00:00
Denis Vlasenko
b6adbf1be2
usage.c: remove reference to busybox.h
...
*: s/include "busybox.h"/include "libbb.h"
2007-05-26 19:00:18 +00:00
Bernhard Reutner-Fischer
febe3c4211
- sed -e "s/char[[:space:]]*\*[[:space:]]*argv\[\]/char **argv/g"
2007-04-04 20:52:03 +00:00
Denis Vlasenko
06af216528
suppress warnings about easch <applet>_main() having
...
no preceding prototype
2007-02-03 17:28:39 +00:00
Denis Vlasenko
b6aae0f381
preparatory patch for -Wwrite-strings #2
2007-01-29 22:51:25 +00:00