Move from read_gz to the pipe()+fork() method.

open_transformer(), common code for pipe+fork.
Function pointer for read() no longer needed.
Allow inflate to be initialised with a specified buffer size to avoid
over-reading.
Reset static variables in inflate_get_next_window to fix a bug where
only the first file in a .zip would be be extracted.
This commit is contained in:
Glenn L McGrath
2003-11-15 23:19:05 +00:00
parent 54ac057c00
commit 5699b8525e
16 changed files with 156 additions and 284 deletions

View File

@@ -179,11 +179,10 @@ extern int gunzip_main(int argc, char **argv)
#endif
if (magic2 == 0x8b) {
check_header_gzip(src_fd);
status = inflate(src_fd, dst_fd);
status = inflate_gunzip(src_fd, dst_fd);
if (status != 0) {
bb_error_msg_and_die("Error inflating");
}
check_trailer_gzip(src_fd);
} else {
bb_error_msg_and_die("Invalid magic");
}