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:
@@ -96,10 +96,9 @@ extern int rpm2cpio_main(int argc, char **argv)
|
||||
}
|
||||
|
||||
check_header_gzip(rpm_fd);
|
||||
if (inflate(rpm_fd, fileno(stdout)) != 0) {
|
||||
if (inflate_gunzip(rpm_fd, fileno(stdout)) != 0) {
|
||||
bb_error_msg("Error inflating");
|
||||
}
|
||||
check_trailer_gzip(rpm_fd);
|
||||
|
||||
close(rpm_fd);
|
||||
|
||||
|
Reference in New Issue
Block a user