diff options
| author | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-10 17:43:01 +0000 |
|---|---|---|
| committer | Denis Vlasenko <vda.linux@googlemail.com> | 2008-07-10 17:43:01 +0000 |
| commit | b6052724ffc9d45894147b70e7aff226938bd2d3 (patch) | |
| tree | e39d062e16d85da315cdb8cc0a96a03f15c10a23 /modutils | |
| parent | 0e2c93fc0b5f335d731ff712ce8f42d8616f05b9 (diff) | |
| download | busybox-w32-b6052724ffc9d45894147b70e7aff226938bd2d3.tar.gz busybox-w32-b6052724ffc9d45894147b70e7aff226938bd2d3.tar.bz2 busybox-w32-b6052724ffc9d45894147b70e7aff226938bd2d3.zip | |
open_transformer: do not return fd, it does not change
libbb: adopt zipped read from modprobe-small
function old new delta
getoptscmd 708 713 +5
qgravechar 106 109 +3
huft_build 1165 1168 +3
tr_main 474 472 -2
open_transformer 91 89 -2
evalvar 1376 1374 -2
rpm_main 1691 1688 -3
qrealloc 36 33 -3
get_header_tar_lzma 55 52 -3
get_header_tar_gz 100 97 -3
get_header_tar_bz2 55 52 -3
get_header_tar_Z 89 86 -3
find_main 418 406 -12
prepare 302 283 -19
xmalloc_open_zipped_read_close 161 135 -26
xmalloc_read 248 199 -49
------------------------------------------------------------------------------
(add/remove: 0/0 grow/shrink: 3/13 up/down: 11/-130) Total: -119 bytes
Diffstat (limited to 'modutils')
| -rw-r--r-- | modutils/modprobe-small.c | 28 |
1 files changed, 0 insertions, 28 deletions
diff --git a/modutils/modprobe-small.c b/modutils/modprobe-small.c index f28c42558..517c103d5 100644 --- a/modutils/modprobe-small.c +++ b/modutils/modprobe-small.c | |||
| @@ -143,34 +143,6 @@ static char* str_2_list(const char *str) | |||
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | #if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED | 145 | #if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED |
| 146 | static char *xmalloc_open_zipped_read_close(const char *fname, size_t *sizep) | ||
| 147 | { | ||
| 148 | size_t len; | ||
| 149 | char *image; | ||
| 150 | char *suffix; | ||
| 151 | |||
| 152 | int fd = open_or_warn(fname, O_RDONLY); | ||
| 153 | if (fd < 0) | ||
| 154 | return NULL; | ||
| 155 | |||
| 156 | suffix = strrchr(fname, '.'); | ||
| 157 | if (suffix) { | ||
| 158 | if (strcmp(suffix, ".gz") == 0) | ||
| 159 | fd = open_transformer(fd, unpack_gz_stream, "gunzip"); | ||
| 160 | else if (strcmp(suffix, ".bz2") == 0) | ||
| 161 | fd = open_transformer(fd, unpack_bz2_stream, "bunzip2"); | ||
| 162 | } | ||
| 163 | |||
| 164 | len = (sizep) ? *sizep : 64 * 1024 * 1024; | ||
| 165 | image = xmalloc_read(fd, &len); | ||
| 166 | if (!image) | ||
| 167 | bb_perror_msg("read error from '%s'", fname); | ||
| 168 | close(fd); | ||
| 169 | |||
| 170 | if (sizep) | ||
| 171 | *sizep = len; | ||
| 172 | return image; | ||
| 173 | } | ||
| 174 | # define read_module xmalloc_open_zipped_read_close | 146 | # define read_module xmalloc_open_zipped_read_close |
| 175 | #else | 147 | #else |
| 176 | # define read_module xmalloc_open_read_close | 148 | # define read_module xmalloc_open_read_close |
