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
This commit is contained in:
@@ -143,34 +143,6 @@ static char* str_2_list(const char *str)
|
||||
}
|
||||
|
||||
#if ENABLE_FEATURE_MODPROBE_SMALL_ZIPPED
|
||||
static char *xmalloc_open_zipped_read_close(const char *fname, size_t *sizep)
|
||||
{
|
||||
size_t len;
|
||||
char *image;
|
||||
char *suffix;
|
||||
|
||||
int fd = open_or_warn(fname, O_RDONLY);
|
||||
if (fd < 0)
|
||||
return NULL;
|
||||
|
||||
suffix = strrchr(fname, '.');
|
||||
if (suffix) {
|
||||
if (strcmp(suffix, ".gz") == 0)
|
||||
fd = open_transformer(fd, unpack_gz_stream, "gunzip");
|
||||
else if (strcmp(suffix, ".bz2") == 0)
|
||||
fd = open_transformer(fd, unpack_bz2_stream, "bunzip2");
|
||||
}
|
||||
|
||||
len = (sizep) ? *sizep : 64 * 1024 * 1024;
|
||||
image = xmalloc_read(fd, &len);
|
||||
if (!image)
|
||||
bb_perror_msg("read error from '%s'", fname);
|
||||
close(fd);
|
||||
|
||||
if (sizep)
|
||||
*sizep = len;
|
||||
return image;
|
||||
}
|
||||
# define read_module xmalloc_open_zipped_read_close
|
||||
#else
|
||||
# define read_module xmalloc_open_read_close
|
||||
|
Reference in New Issue
Block a user