summaryrefslogtreecommitdiff
path: root/modutils
diff options
context:
space:
mode:
authorDenis Vlasenko2008-08-05 13:10:34 +0000
committerDenis Vlasenko2008-08-05 13:10:34 +0000
commite9ad84dfd4c7eb2936374f02989dacf7026a7276 (patch)
tree37412d21c0a2ccec7c162e0fb42833058f5934e3 /modutils
parent9b44613202a6f2f080ec23746d0680dcef88628d (diff)
downloadbusybox-e9ad84dfd4c7eb2936374f02989dacf7026a7276.zip
busybox-e9ad84dfd4c7eb2936374f02989dacf7026a7276.tar.gz
*: 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')
-rw-r--r--modutils/Config.in7
-rw-r--r--modutils/modprobe-small.c12
2 files changed, 3 insertions, 16 deletions
diff --git a/modutils/Config.in b/modutils/Config.in
index f76a082..a430fca 100644
--- a/modutils/Config.in
+++ b/modutils/Config.in
@@ -54,13 +54,6 @@ config FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
Check if the module is already loaded.
N.B. It's racy.
-config FEATURE_MODPROBE_SMALL_ZIPPED
- bool "Handle gzipped or bzipped modules"
- default n
- depends on MODPROBE_SMALL
- help
- Handle compressed modules. Bloaty. Sloooow.
-
config DEPMOD
bool "depmod"
default n
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c
index ea130b8..ac08ba7 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)
{
int wlen;
- if (!ptr) /* happens if read_module cannot read it */
+ if (!ptr) /* happens if xmalloc_open_zipped_read_close cannot read it */
return NULL;
wlen = strlen(word);
@@ -141,12 +141,6 @@ static char* str_2_list(const char *str)
return dst;
}
-#if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED
-# define read_module xmalloc_open_zipped_read_close
-#else
-# define read_module xmalloc_open_read_close
-#endif
-
/* We use error numbers in a loose translation... */
static const char *moderror(int err)
{
@@ -173,7 +167,7 @@ static int load_module(const char *fname, const char *options)
char *module_image;
dbg1_error_msg("load_module('%s','%s')", fname, options);
- module_image = read_module(fname, &len);
+ module_image = xmalloc_open_zipped_read_close(fname, &len);
r = (!module_image || init_module(module_image, len, options ? options : "") != 0);
free(module_image);
dbg1_error_msg("load_module:%d", r);
@@ -195,7 +189,7 @@ static void parse_module(module_info *info, const char *pathname)
/* Read (possibly compressed) module */
len = 64 * 1024 * 1024; /* 64 Mb at most */
- module_image = read_module(pathname, &len);
+ module_image = xmalloc_open_zipped_read_close(pathname, &len);
//TODO: optimize redundant module body reads
/* "alias1 symbol:sym1 alias2 symbol:sym2" */