diff --git a/archival/bbunzip.c b/archival/bbunzip.c index fce5ab9e1..84f58f138 100644 --- a/archival/bbunzip.c +++ b/archival/bbunzip.c @@ -39,7 +39,7 @@ char* FAST_FUNC append_ext(char *filename, const char *expected_ext) } int FAST_FUNC bbunpack(char **argv, - IF_DESKTOP(long long) int FAST_FUNC (*unpacker)(transformer_aux_data_t *aux), + IF_DESKTOP(long long) int FAST_FUNC (*unpacker)(transformer_state_t *xstate), char* FAST_FUNC (*make_new_name)(char *filename, const char *expected_ext), const char *expected_ext ) @@ -48,7 +48,7 @@ int FAST_FUNC bbunpack(char **argv, IF_DESKTOP(long long) int status = 0; char *filename, *new_name; smallint exitcode = 0; - transformer_aux_data_t aux; + transformer_state_t xstate; do { /* NB: new_name is *maybe* malloc'ed! */ @@ -120,9 +120,9 @@ int FAST_FUNC bbunpack(char **argv, } if (!(option_mask32 & SEAMLESS_MAGIC)) { - init_transformer_aux_data(&aux); - aux.check_signature = 1; - status = unpacker(&aux); + init_transformer_state(&xstate); + xstate.check_signature = 1; + status = unpacker(&xstate); if (status < 0) exitcode = 1; } else { @@ -141,10 +141,10 @@ int FAST_FUNC bbunpack(char **argv, unsigned new_name_len; /* TODO: restore other things? */ - if (aux.mtime != 0) { + if (xstate.mtime != 0) { struct timeval times[2]; - times[1].tv_sec = times[0].tv_sec = aux.mtime; + times[1].tv_sec = times[0].tv_sec = xstate.mtime; times[1].tv_usec = times[0].tv_usec = 0; /* Note: we closed it first. * On some systems calling utimes @@ -227,9 +227,9 @@ char* FAST_FUNC make_new_name_generic(char *filename, const char *expected_ext) //kbuild:lib-$(CONFIG_UNCOMPRESS) += bbunzip.o #if ENABLE_UNCOMPRESS static -IF_DESKTOP(long long) int FAST_FUNC unpack_uncompress(transformer_aux_data_t *aux) +IF_DESKTOP(long long) int FAST_FUNC unpack_uncompress(transformer_state_t *xstate) { - return unpack_Z_stream(aux, STDIN_FILENO, STDOUT_FILENO); + return unpack_Z_stream(xstate, STDIN_FILENO, STDOUT_FILENO); } int uncompress_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int uncompress_main(int argc UNUSED_PARAM, char **argv) @@ -325,9 +325,9 @@ char* FAST_FUNC make_new_name_gunzip(char *filename, const char *expected_ext UN return filename; } static -IF_DESKTOP(long long) int FAST_FUNC unpack_gunzip(transformer_aux_data_t *aux) +IF_DESKTOP(long long) int FAST_FUNC unpack_gunzip(transformer_state_t *xstate) { - return unpack_gz_stream(aux, STDIN_FILENO, STDOUT_FILENO); + return unpack_gz_stream(xstate, STDIN_FILENO, STDOUT_FILENO); } /* * Linux kernel build uses gzip -d -n. We accept and ignore it. @@ -396,9 +396,9 @@ int gunzip_main(int argc UNUSED_PARAM, char **argv) //kbuild:lib-$(CONFIG_BUNZIP2) += bbunzip.o #if ENABLE_BUNZIP2 static -IF_DESKTOP(long long) int FAST_FUNC unpack_bunzip2(transformer_aux_data_t *aux) +IF_DESKTOP(long long) int FAST_FUNC unpack_bunzip2(transformer_state_t *xstate) { - return unpack_bz2_stream(aux, STDIN_FILENO, STDOUT_FILENO); + return unpack_bz2_stream(xstate, STDIN_FILENO, STDOUT_FILENO); } int bunzip2_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int bunzip2_main(int argc UNUSED_PARAM, char **argv) @@ -495,9 +495,9 @@ int bunzip2_main(int argc UNUSED_PARAM, char **argv) //kbuild:lib-$(CONFIG_UNLZMA) += bbunzip.o #if ENABLE_UNLZMA static -IF_DESKTOP(long long) int FAST_FUNC unpack_unlzma(transformer_aux_data_t *aux) +IF_DESKTOP(long long) int FAST_FUNC unpack_unlzma(transformer_state_t *xstate) { - return unpack_lzma_stream(aux, STDIN_FILENO, STDOUT_FILENO); + return unpack_lzma_stream(xstate, STDIN_FILENO, STDOUT_FILENO); } int unlzma_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int unlzma_main(int argc UNUSED_PARAM, char **argv) @@ -538,9 +538,9 @@ int unlzma_main(int argc UNUSED_PARAM, char **argv) //kbuild:lib-$(CONFIG_UNXZ) += bbunzip.o #if ENABLE_UNXZ static -IF_DESKTOP(long long) int FAST_FUNC unpack_unxz(transformer_aux_data_t *aux) +IF_DESKTOP(long long) int FAST_FUNC unpack_unxz(transformer_state_t *xstate) { - return unpack_xz_stream(aux, STDIN_FILENO, STDOUT_FILENO); + return unpack_xz_stream(xstate, STDIN_FILENO, STDOUT_FILENO); } int unxz_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; int unxz_main(int argc UNUSED_PARAM, char **argv) diff --git a/archival/bzip2.c b/archival/bzip2.c index f7718b411..47fa29af3 100644 --- a/archival/bzip2.c +++ b/archival/bzip2.c @@ -127,7 +127,7 @@ IF_DESKTOP(long long) int bz_write(bz_stream *strm, void* rbuf, ssize_t rlen, vo } static -IF_DESKTOP(long long) int FAST_FUNC compressStream(transformer_aux_data_t *aux UNUSED_PARAM) +IF_DESKTOP(long long) int FAST_FUNC compressStream(transformer_state_t *xstate UNUSED_PARAM) { IF_DESKTOP(long long) int total; ssize_t count; diff --git a/archival/gzip.c b/archival/gzip.c index 1e779c9c3..a93d2175a 100644 --- a/archival/gzip.c +++ b/archival/gzip.c @@ -2042,7 +2042,7 @@ static void zip(ulg time_stamp) /* ======================================================================== */ static -IF_DESKTOP(long long) int FAST_FUNC pack_gzip(transformer_aux_data_t *aux UNUSED_PARAM) +IF_DESKTOP(long long) int FAST_FUNC pack_gzip(transformer_state_t *xstate UNUSED_PARAM) { struct stat s; diff --git a/archival/libarchive/decompress_bunzip2.c b/archival/libarchive/decompress_bunzip2.c index 6396fe40d..36237e221 100644 --- a/archival/libarchive/decompress_bunzip2.c +++ b/archival/libarchive/decompress_bunzip2.c @@ -731,7 +731,7 @@ void FAST_FUNC dealloc_bunzip(bunzip_data *bd) /* Decompress src_fd to dst_fd. Stops at end of bzip data, not end of file. */ IF_DESKTOP(long long) int FAST_FUNC -unpack_bz2_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) +unpack_bz2_stream(transformer_state_t *xstate, int src_fd, int dst_fd) { IF_DESKTOP(long long total_written = 0;) bunzip_data *bd; @@ -739,7 +739,7 @@ unpack_bz2_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) int i; unsigned len; - if (check_signature16(aux, src_fd, BZIP2_MAGIC)) + if (check_signature16(xstate, src_fd, BZIP2_MAGIC)) return -1; outbuf = xmalloc(IOBUF_SIZE); diff --git a/archival/libarchive/decompress_gunzip.c b/archival/libarchive/decompress_gunzip.c index 7c6f38ec3..62a3d78b6 100644 --- a/archival/libarchive/decompress_gunzip.c +++ b/archival/libarchive/decompress_gunzip.c @@ -1034,22 +1034,22 @@ inflate_unzip_internal(STATE_PARAM int in, int out) /* For unzip */ IF_DESKTOP(long long) int FAST_FUNC -inflate_unzip(transformer_aux_data_t *aux, int in, int out) +inflate_unzip(transformer_state_t *xstate, int in, int out) { IF_DESKTOP(long long) int n; DECLARE_STATE; ALLOC_STATE; - to_read = aux->bytes_in; + to_read = xstate->bytes_in; // bytebuffer_max = 0x8000; bytebuffer_offset = 4; bytebuffer = xmalloc(bytebuffer_max); n = inflate_unzip_internal(PASS_STATE in, out); free(bytebuffer); - aux->crc32 = gunzip_crc; - aux->bytes_out = gunzip_bytes_out; + xstate->crc32 = gunzip_crc; + xstate->bytes_out = gunzip_bytes_out; DEALLOC_STATE; return n; } @@ -1107,7 +1107,7 @@ static uint32_t buffer_read_le_u32(STATE_PARAM_ONLY) return res; } -static int check_header_gzip(STATE_PARAM transformer_aux_data_t *aux) +static int check_header_gzip(STATE_PARAM transformer_state_t *xstate) { union { unsigned char raw[8]; @@ -1169,8 +1169,8 @@ static int check_header_gzip(STATE_PARAM transformer_aux_data_t *aux) } } - if (aux) - aux->mtime = SWAP_LE32(header.formatted.mtime); + if (xstate) + xstate->mtime = SWAP_LE32(header.formatted.mtime); /* Read the header checksum */ if (header.formatted.flags & 0x02) { @@ -1182,17 +1182,17 @@ static int check_header_gzip(STATE_PARAM transformer_aux_data_t *aux) } IF_DESKTOP(long long) int FAST_FUNC -unpack_gz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) +unpack_gz_stream(transformer_state_t *xstate, int src_fd, int dst_fd) { uint32_t v32; IF_DESKTOP(long long) int total, n; DECLARE_STATE; #if !ENABLE_FEATURE_SEAMLESS_Z - if (check_signature16(aux, src_fd, GZIP_MAGIC)) + if (check_signature16(xstate, src_fd, GZIP_MAGIC)) return -1; #else - if (aux && aux->check_signature) { + if (xstate && xstate->check_signature) { uint16_t magic2; if (full_read(src_fd, &magic2, 2) != 2) { @@ -1201,8 +1201,8 @@ unpack_gz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) return -1; } if (magic2 == COMPRESS_MAGIC) { - aux->check_signature = 0; - return unpack_Z_stream(aux, src_fd, dst_fd); + xstate->check_signature = 0; + return unpack_Z_stream(xstate, src_fd, dst_fd); } if (magic2 != GZIP_MAGIC) goto bad_magic; @@ -1218,7 +1218,7 @@ unpack_gz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) gunzip_src_fd = src_fd; again: - if (!check_header_gzip(PASS_STATE aux)) { + if (!check_header_gzip(PASS_STATE xstate)) { bb_error_msg("corrupted data"); total = -1; goto ret; diff --git a/archival/libarchive/decompress_uncompress.c b/archival/libarchive/decompress_uncompress.c index 53c27080f..cb3d55a88 100644 --- a/archival/libarchive/decompress_uncompress.c +++ b/archival/libarchive/decompress_uncompress.c @@ -73,7 +73,7 @@ */ IF_DESKTOP(long long) int FAST_FUNC -unpack_Z_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) +unpack_Z_stream(transformer_state_t *xstate, int src_fd, int dst_fd) { IF_DESKTOP(long long total_written = 0;) IF_DESKTOP(long long) int retval = -1; @@ -102,7 +102,7 @@ unpack_Z_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) /* block compress mode -C compatible with 2.0 */ int block_mode; /* = BLOCK_MODE; */ - if (check_signature16(aux, src_fd, COMPRESS_MAGIC)) + if (check_signature16(xstate, src_fd, COMPRESS_MAGIC)) return -1; inbuf = xzalloc(IBUFSIZ + 64); diff --git a/archival/libarchive/decompress_unlzma.c b/archival/libarchive/decompress_unlzma.c index 3d99e1388..ccedac49d 100644 --- a/archival/libarchive/decompress_unlzma.c +++ b/archival/libarchive/decompress_unlzma.c @@ -206,7 +206,7 @@ enum { IF_DESKTOP(long long) int FAST_FUNC -unpack_lzma_stream(transformer_aux_data_t *aux UNUSED_PARAM, int src_fd, int dst_fd) +unpack_lzma_stream(transformer_state_t *xstate UNUSED_PARAM, int src_fd, int dst_fd) { IF_DESKTOP(long long total_written = 0;) lzma_header_t header; diff --git a/archival/libarchive/decompress_unxz.c b/archival/libarchive/decompress_unxz.c index 986b7b191..6df54e131 100644 --- a/archival/libarchive/decompress_unxz.c +++ b/archival/libarchive/decompress_unxz.c @@ -38,7 +38,7 @@ static uint32_t xz_crc32(const uint8_t *buf, size_t size, uint32_t crc) #include "unxz/xz_dec_stream.c" IF_DESKTOP(long long) int FAST_FUNC -unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) +unpack_xz_stream(transformer_state_t *xstate, int src_fd, int dst_fd) { enum xz_ret xz_result; struct xz_buf iobuf; @@ -55,7 +55,7 @@ unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) iobuf.out = membuf + BUFSIZ; iobuf.out_size = BUFSIZ; - if (!aux || aux->check_signature == 0) { + if (!xstate || xstate->check_signature == 0) { /* Preload XZ file signature */ strcpy((char*)membuf, HEADER_MAGIC); iobuf.in_size = HEADER_MAGIC_SIZE; diff --git a/archival/libarchive/open_transformer.c b/archival/libarchive/open_transformer.c index 198663041..584b15de4 100644 --- a/archival/libarchive/open_transformer.c +++ b/archival/libarchive/open_transformer.c @@ -6,19 +6,19 @@ #include "libbb.h" #include "bb_archive.h" -void FAST_FUNC init_transformer_aux_data(transformer_aux_data_t *aux) +void FAST_FUNC init_transformer_state(transformer_state_t *xstate) { - memset(aux, 0, sizeof(*aux)); + memset(xstate, 0, sizeof(*xstate)); } -int FAST_FUNC check_signature16(transformer_aux_data_t *aux, int src_fd, unsigned magic16) +int FAST_FUNC check_signature16(transformer_state_t *xstate, int src_fd, unsigned magic16) { - if (aux && aux->check_signature) { + if (xstate && xstate->check_signature) { uint16_t magic2; if (full_read(src_fd, &magic2, 2) != 2 || magic2 != magic16) { bb_error_msg("invalid magic"); #if 0 /* possible future extension */ - if (aux->check_signature > 1) + if (xstate->check_signature > 1) xfunc_die(); #endif return -1; @@ -62,7 +62,7 @@ void check_errors_in_children(int signo) #if BB_MMU void FAST_FUNC open_transformer(int fd, int check_signature, - IF_DESKTOP(long long) int FAST_FUNC (*transformer)(transformer_aux_data_t *aux, int src_fd, int dst_fd) + IF_DESKTOP(long long) int FAST_FUNC (*transformer)(transformer_state_t *xstate, int src_fd, int dst_fd) ) #else void FAST_FUNC open_transformer(int fd, const char *transform_prog) @@ -80,10 +80,10 @@ void FAST_FUNC open_transformer(int fd, const char *transform_prog) #if BB_MMU { IF_DESKTOP(long long) int r; - transformer_aux_data_t aux; - init_transformer_aux_data(&aux); - aux.check_signature = check_signature; - r = transformer(&aux, fd, fd_pipe.wr); + transformer_state_t xstate; + init_transformer_state(&xstate); + xstate.check_signature = check_signature; + r = transformer(&xstate, fd, fd_pipe.wr); if (ENABLE_FEATURE_CLEAN_UP) { close(fd_pipe.wr); /* send EOF */ close(fd); @@ -126,7 +126,7 @@ int FAST_FUNC setup_unzip_on_fd(int fd, int fail_if_not_compressed) uint32_t b32[1]; } magic; int offset = -2; - USE_FOR_MMU(IF_DESKTOP(long long) int FAST_FUNC (*xformer)(transformer_aux_data_t *aux, int src_fd, int dst_fd);) + USE_FOR_MMU(IF_DESKTOP(long long) int FAST_FUNC (*xformer)(transformer_state_t *xstate, int src_fd, int dst_fd);) USE_FOR_NOMMU(const char *xformer_prog;) /* .gz and .bz2 both have 2-byte signature, and their diff --git a/archival/lzop.c b/archival/lzop.c index 5062d9300..73d11a705 100644 --- a/archival/lzop.c +++ b/archival/lzop.c @@ -1099,7 +1099,7 @@ static char* FAST_FUNC make_new_name_lzop(char *filename, const char *expected_e return xasprintf("%s.lzo", filename); } -static IF_DESKTOP(long long) int FAST_FUNC pack_lzop(transformer_aux_data_t *aux UNUSED_PARAM) +static IF_DESKTOP(long long) int FAST_FUNC pack_lzop(transformer_state_t *xstate UNUSED_PARAM) { if (option_mask32 & OPT_DECOMPRESS) return do_lzo_decompress(); diff --git a/archival/tar.c b/archival/tar.c index aa02d3512..7897a4af6 100644 --- a/archival/tar.c +++ b/archival/tar.c @@ -1171,7 +1171,7 @@ int tar_main(int argc UNUSED_PARAM, char **argv) } if (opt & OPT_ANY_COMPRESS) { - USE_FOR_MMU(IF_DESKTOP(long long) int FAST_FUNC (*xformer)(transformer_aux_data_t *aux, int src_fd, int dst_fd);) + USE_FOR_MMU(IF_DESKTOP(long long) int FAST_FUNC (*xformer)(transformer_state_t *xstate, int src_fd, int dst_fd);) USE_FOR_NOMMU(const char *xformer_prog;) if (opt & OPT_COMPRESS) diff --git a/archival/unzip.c b/archival/unzip.c index fcfc9a448..c622bde57 100644 --- a/archival/unzip.c +++ b/archival/unzip.c @@ -280,17 +280,17 @@ static void unzip_extract(zip_header_t *zip_header, int dst_fd) bb_copyfd_exact_size(zip_fd, dst_fd, size); } else { /* Method 8 - inflate */ - transformer_aux_data_t aux; - init_transformer_aux_data(&aux); - aux.bytes_in = zip_header->formatted.cmpsize; - if (inflate_unzip(&aux, zip_fd, dst_fd) < 0) + transformer_state_t xstate; + init_transformer_state(&xstate); + xstate.bytes_in = zip_header->formatted.cmpsize; + if (inflate_unzip(&xstate, zip_fd, dst_fd) < 0) bb_error_msg_and_die("inflate error"); /* Validate decompression - crc */ - if (zip_header->formatted.crc32 != (aux.crc32 ^ 0xffffffffL)) { + if (zip_header->formatted.crc32 != (xstate.crc32 ^ 0xffffffffL)) { bb_error_msg_and_die("crc error"); } /* Validate decompression - size */ - if (zip_header->formatted.ucmpsize != aux.bytes_out) { + if (zip_header->formatted.ucmpsize != xstate.bytes_out) { /* Don't die. Who knows, maybe len calculation * was botched somewhere. After all, crc matched! */ bb_error_msg("bad length"); diff --git a/include/bb_archive.h b/include/bb_archive.h index b82cfd83c..8a2dd2735 100644 --- a/include/bb_archive.h +++ b/include/bb_archive.h @@ -203,27 +203,27 @@ int read_bunzip(bunzip_data *bd, char *outbuf, int len) FAST_FUNC; void dealloc_bunzip(bunzip_data *bd) FAST_FUNC; /* Meaning and direction (input/output) of the fields are transformer-specific */ -typedef struct transformer_aux_data_t { +typedef struct transformer_state_t { smallint check_signature; /* most often referenced member */ off_t bytes_out; off_t bytes_in; /* used in unzip code only: needs to know packed size */ uint32_t crc32; time_t mtime; /* gunzip code may set this on exit */ -} transformer_aux_data_t; +} transformer_state_t; -void init_transformer_aux_data(transformer_aux_data_t *aux) FAST_FUNC; -int FAST_FUNC check_signature16(transformer_aux_data_t *aux, int src_fd, unsigned magic16) FAST_FUNC; +void init_transformer_state(transformer_state_t *xstate) FAST_FUNC; +int FAST_FUNC check_signature16(transformer_state_t *xstate, int src_fd, unsigned magic16) FAST_FUNC; -IF_DESKTOP(long long) int inflate_unzip(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; -IF_DESKTOP(long long) int unpack_Z_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; -IF_DESKTOP(long long) int unpack_gz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; -IF_DESKTOP(long long) int unpack_bz2_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; -IF_DESKTOP(long long) int unpack_lzma_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; -IF_DESKTOP(long long) int unpack_xz_stream(transformer_aux_data_t *aux, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int inflate_unzip(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int unpack_Z_stream(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int unpack_gz_stream(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int unpack_bz2_stream(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int unpack_lzma_stream(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; +IF_DESKTOP(long long) int unpack_xz_stream(transformer_state_t *xstate, int src_fd, int dst_fd) FAST_FUNC; char* append_ext(char *filename, const char *expected_ext) FAST_FUNC; int bbunpack(char **argv, - IF_DESKTOP(long long) int FAST_FUNC (*unpacker)(transformer_aux_data_t *aux), + IF_DESKTOP(long long) int FAST_FUNC (*unpacker)(transformer_state_t *xstate), char* FAST_FUNC (*make_new_name)(char *filename, const char *expected_ext), const char *expected_ext ) FAST_FUNC; @@ -232,7 +232,7 @@ void check_errors_in_children(int signo); #if BB_MMU void open_transformer(int fd, int check_signature, - IF_DESKTOP(long long) int FAST_FUNC (*transformer)(transformer_aux_data_t *aux, int src_fd, int dst_fd) + IF_DESKTOP(long long) int FAST_FUNC (*transformer)(transformer_state_t *xstate, int src_fd, int dst_fd) ) FAST_FUNC; #define open_transformer_with_sig(fd, transformer, transform_prog) open_transformer((fd), 1, (transformer)) #define open_transformer_with_no_sig(fd, transformer) open_transformer((fd), 0, (transformer))