diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-05 13:10:34 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-08-05 13:10:34 +0000 |
commit | e9ad84dfd4c7eb2936374f02989dacf7026a7276 (patch) | |
tree | 37412d21c0a2ccec7c162e0fb42833058f5934e3 /modutils/modprobe-small.c | |
parent | 9b44613202a6f2f080ec23746d0680dcef88628d (diff) | |
download | busybox-w32-e9ad84dfd4c7eb2936374f02989dacf7026a7276.tar.gz busybox-w32-e9ad84dfd4c7eb2936374f02989dacf7026a7276.tar.bz2 busybox-w32-e9ad84dfd4c7eb2936374f02989dacf7026a7276.zip |
*: refactor handling of archived files. "tar f file.tar.lzma" now works too.
function old new delta
unpack_Z_stream - 1229 +1229
open_zipped - 176 +176
unpack_bz2_stream_prime - 60 +60
tar_main 642 677 +35
find_main 406 418 +12
sv_main 1222 1233 +11
decode_format_string 829 837 +8
cmp_main 641 649 +8
popstring 134 140 +6
filter_accept_list_reassign 120 125 +5
parse_and_put_prompt 800 804 +4
passwd_main 1053 1049 -4
make_new_name_gunzip 119 114 -5
rpm_main 1688 1670 -18
prepare 302 283 -19
xmalloc_open_zipped_read_close 135 61 -74
uncompress 1229 - -1229
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 8/5 up/down: 1554/-1349) Total: 205 bytes
Diffstat (limited to 'modutils/modprobe-small.c')
-rw-r--r-- | modutils/modprobe-small.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index ea130b83c..ac08ba7d7 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c | |||
@@ -100,7 +100,7 @@ static char* find_keyword(char *ptr, size_t len, const char *word) | |||
100 | { | 100 | { |
101 | int wlen; | 101 | int wlen; |
102 | 102 | ||
103 | if (!ptr) /* happens if read_module cannot read it */ | 103 | if (!ptr) /* happens if xmalloc_open_zipped_read_close cannot read it */ |
104 | return NULL; | 104 | return NULL; |
105 | 105 | ||
106 | wlen = strlen(word); | 106 | wlen = strlen(word); |
@@ -141,12 +141,6 @@ static char* str_2_list(const char *str) | |||
141 | return dst; | 141 | return dst; |
142 | } | 142 | } |
143 | 143 | ||
144 | #if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED | ||
145 | # define read_module xmalloc_open_zipped_read_close | ||
146 | #else | ||
147 | # define read_module xmalloc_open_read_close | ||
148 | #endif | ||
149 | |||
150 | /* We use error numbers in a loose translation... */ | 144 | /* We use error numbers in a loose translation... */ |
151 | static const char *moderror(int err) | 145 | static const char *moderror(int err) |
152 | { | 146 | { |
@@ -173,7 +167,7 @@ static int load_module(const char *fname, const char *options) | |||
173 | char *module_image; | 167 | char *module_image; |
174 | dbg1_error_msg("load_module('%s','%s')", fname, options); | 168 | dbg1_error_msg("load_module('%s','%s')", fname, options); |
175 | 169 | ||
176 | module_image = read_module(fname, &len); | 170 | module_image = xmalloc_open_zipped_read_close(fname, &len); |
177 | r = (!module_image || init_module(module_image, len, options ? options : "") != 0); | 171 | r = (!module_image || init_module(module_image, len, options ? options : "") != 0); |
178 | free(module_image); | 172 | free(module_image); |
179 | dbg1_error_msg("load_module:%d", r); | 173 | dbg1_error_msg("load_module:%d", r); |
@@ -195,7 +189,7 @@ static void parse_module(module_info *info, const char *pathname) | |||
195 | 189 | ||
196 | /* Read (possibly compressed) module */ | 190 | /* Read (possibly compressed) module */ |
197 | len = 64 * 1024 * 1024; /* 64 Mb at most */ | 191 | len = 64 * 1024 * 1024; /* 64 Mb at most */ |
198 | module_image = read_module(pathname, &len); | 192 | module_image = xmalloc_open_zipped_read_close(pathname, &len); |
199 | //TODO: optimize redundant module body reads | 193 | //TODO: optimize redundant module body reads |
200 | 194 | ||
201 | /* "alias1 symbol:sym1 alias2 symbol:sym2" */ | 195 | /* "alias1 symbol:sym1 alias2 symbol:sym2" */ |