Minor cleanups
No binary (build failed)
—
(log yok)
| @@ -29,13 +29,6 @@ extern int dpkg_deb_main(int argc, char **argv) | |
| #ifndef CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY | |
| const llist_t *control_tar_llist = NULL; | |
| #endif | |
| - | #ifndef CONFIG_AR |
| - | char magic[7]; |
| - | #endif |
| - | |
| - | /* a .deb file is an ar archive that contain three files, |
| - | * data.tar.gz, control.tar.gz and debian |
| - | */ |
| /* Setup the tar archive handle */ | |
| tar_archive = init_handle(); | |
| @@ -104,17 +97,7 @@ extern int dpkg_deb_main(int argc, char **argv) | |
| mkdir(argv[optind], 0777); | |
| chdir(argv[optind]); | |
| - | #ifdef CONFIG_AR |
| unpack_ar_archive(ar_archive); | |
| - | #else |
| - | xread_all(ar_archive->src_fd, magic, 7); |
| - | if (strncmp(magic, "!<arch>", 7) != 0) { |
| - | error_msg_and_die("Invalid ar magic"); |
| - | } |
| - | ar_archive->offset += 7; |
| - | |
| - | while (get_header_ar(ar_archive) == EXIT_SUCCESS); |
| - | #endif |
| /* Cleanup */ | |
| close (ar_archive->src_fd); | |
| @@ -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); | |
| @@ -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); | |
| @@ -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); | |
| @@ -685,7 +685,7 @@ int tar_main(int argc, char **argv) | |
| #endif | |
| #ifdef CONFIG_FEATURE_TAR_BZIP2 | |
| case 'j': | |
| - | tar_handle->read = read_bz2; |
| + | get_header_ptr = get_header_tar_bz2; |
| break; | |
| #endif | |
| default: | |
| @@ -738,21 +738,9 @@ int tar_main(int argc, char **argv) | |
| tar_handle->src_fd = fileno(stdin); | |
| tar_handle->seek = seek_by_char; | |
| } else { | |
| - | tar_handle->seek = seek_by_jump; |
| tar_handle->src_fd = xopen(tar_filename, O_RDONLY); | |
| } | |
| - | #ifdef CONFIG_FEATURE_TAR_GZIP |
| - | if (get_header_ptr == get_header_tar_gz) { |
| - | get_header_tar_gz(tar_handle); |
| - | } else |
| - | #endif /* CONFIG_FEATURE_TAR_GZIP */ |
| - | #ifdef CONFIG_FEATURE_TAR_BZIP2 |
| - | if (tar_handle->read == read_bz2) { |
| - | get_header_tar_bz2(tar_handle); |
| - | } else |
| - | #endif /* CONFIG_FEATURE_TAR_BZIP2 */ |
| - | |
| - | while (get_header_tar(tar_handle) == EXIT_SUCCESS); |
| + | while (get_header_ptr(tar_handle) == EXIT_SUCCESS); |
| /* Ckeck that every file that should have been extracted was */ | |
| while (tar_handle->accept) { | |