Move seamless .Z support into unpack_gz_stream
unpack_gz_stream 566 643 +77 unpack_gunzip 123 12 -111 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
@@ -274,29 +274,7 @@ char* FAST_FUNC make_new_name_gunzip(char *filename, const char *expected_ext UN
|
||||
static
|
||||
IF_DESKTOP(long long) int FAST_FUNC unpack_gunzip(transformer_aux_data_t *aux)
|
||||
{
|
||||
IF_DESKTOP(long long) int status = -1;
|
||||
uint16_t magic2;
|
||||
|
||||
//TODO: fold below into unpack_gz_stream? Then the whole level of indirection
|
||||
// unpack_FOO() -> unpack_FOO_stream can be collapsed in this module!
|
||||
|
||||
aux->check_signature = 0; /* we will check it here, not in unpack_*_stream */
|
||||
|
||||
if (full_read(STDIN_FILENO, &magic2, 2) != 2)
|
||||
goto bad_magic;
|
||||
if (ENABLE_FEATURE_SEAMLESS_Z && magic2 == COMPRESS_MAGIC) {
|
||||
status = unpack_Z_stream(aux, STDIN_FILENO, STDOUT_FILENO);
|
||||
} else if (magic2 == GZIP_MAGIC) {
|
||||
status = unpack_gz_stream(aux, STDIN_FILENO, STDOUT_FILENO);
|
||||
} else {
|
||||
bad_magic:
|
||||
bb_error_msg("invalid magic");
|
||||
/* status is still == -1 */
|
||||
}
|
||||
if (status < 0) {
|
||||
bb_error_msg("error inflating");
|
||||
}
|
||||
return status;
|
||||
return unpack_gz_stream(aux, STDIN_FILENO, STDOUT_FILENO);
|
||||
}
|
||||
/*
|
||||
* Linux kernel build uses gzip -d -n. We accept and ignore it.
|
||||
|
Reference in New Issue
Block a user