diff options
Diffstat (limited to 'archival/libunarchive')
-rw-r--r-- | archival/libunarchive/filter_accept_list_reassign.c | 1 | ||||
-rw-r--r-- | archival/libunarchive/get_header_tar_bz2.c | 3 | ||||
-rw-r--r-- | archival/libunarchive/get_header_tar_gz.c | 3 |
3 files changed, 5 insertions, 2 deletions
diff --git a/archival/libunarchive/filter_accept_list_reassign.c b/archival/libunarchive/filter_accept_list_reassign.c index fa294c70a..d9bee79d7 100644 --- a/archival/libunarchive/filter_accept_list_reassign.c +++ b/archival/libunarchive/filter_accept_list_reassign.c @@ -48,7 +48,6 @@ extern char filter_accept_list_reassign(archive_handle_t *archive_handle) #ifdef CONFIG_FEATURE_DEB_TAR_BZ2 if (strcmp(name_ptr, ".bz2") == 0) { archive_handle->sub_archive->read = read_bz2; -// BZ2_bzReadOpen(archive_handle->sub_archive->src_fd, NULL, 0); BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0); archive_handle->action_data_subarchive = get_header_tar; return(EXIT_SUCCESS); diff --git a/archival/libunarchive/get_header_tar_bz2.c b/archival/libunarchive/get_header_tar_bz2.c index 4e47166f0..b49ccae18 100644 --- a/archival/libunarchive/get_header_tar_bz2.c +++ b/archival/libunarchive/get_header_tar_bz2.c @@ -27,6 +27,9 @@ extern char get_header_tar_bz2(archive_handle_t *archive_handle) { BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0); + archive_handle->read = read_bz2; + archive_handle->seek = seek_by_char; + archive_handle->offset = 0; while (get_header_tar(archive_handle) == EXIT_SUCCESS); diff --git a/archival/libunarchive/get_header_tar_gz.c b/archival/libunarchive/get_header_tar_gz.c index f0d4b1359..f77b775d3 100644 --- a/archival/libunarchive/get_header_tar_gz.c +++ b/archival/libunarchive/get_header_tar_gz.c @@ -28,8 +28,9 @@ extern char get_header_tar_gz(archive_handle_t *archive_handle) int fd_pipe[2]; int pid; unsigned char magic[2]; - + /* Cant lseek over pipe's */ + archive_handle->read = read; archive_handle->seek = seek_by_char; archive_xread_all(archive_handle, &magic, 2); |