aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGlenn L McGrath <bug1@ihug.co.nz>2002-11-13 00:24:20 +0000
committerGlenn L McGrath <bug1@ihug.co.nz>2002-11-13 00:24:20 +0000
commite356883ffb0c7300aa0312864ddf203a6d322d94 (patch)
treee5ef4635958a251b3a751437841471ba85c44665
parent034c371bb2ea7d66caf3ac29178ce941837edb9f (diff)
downloadbusybox-w32-e356883ffb0c7300aa0312864ddf203a6d322d94.tar.gz
busybox-w32-e356883ffb0c7300aa0312864ddf203a6d322d94.tar.bz2
busybox-w32-e356883ffb0c7300aa0312864ddf203a6d322d94.zip
Minor cleanups
-rw-r--r--archival/dpkg_deb.c17
-rw-r--r--archival/libunarchive/filter_accept_list_reassign.c1
-rw-r--r--archival/libunarchive/get_header_tar_bz2.c3
-rw-r--r--archival/libunarchive/get_header_tar_gz.c3
-rw-r--r--archival/tar.c16
5 files changed, 7 insertions, 33 deletions
diff --git a/archival/dpkg_deb.c b/archival/dpkg_deb.c
index c46739553..7ce637e5e 100644
--- a/archival/dpkg_deb.c
+++ b/archival/dpkg_deb.c
@@ -29,13 +29,6 @@ extern int dpkg_deb_main(int argc, char **argv)
29#ifndef CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY 29#ifndef CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
30 const llist_t *control_tar_llist = NULL; 30 const llist_t *control_tar_llist = NULL;
31#endif 31#endif
32#ifndef CONFIG_AR
33 char magic[7];
34#endif
35
36 /* a .deb file is an ar archive that contain three files,
37 * data.tar.gz, control.tar.gz and debian
38 */
39 32
40 /* Setup the tar archive handle */ 33 /* Setup the tar archive handle */
41 tar_archive = init_handle(); 34 tar_archive = init_handle();
@@ -104,17 +97,7 @@ extern int dpkg_deb_main(int argc, char **argv)
104 mkdir(argv[optind], 0777); 97 mkdir(argv[optind], 0777);
105 chdir(argv[optind]); 98 chdir(argv[optind]);
106 99
107#ifdef CONFIG_AR
108 unpack_ar_archive(ar_archive); 100 unpack_ar_archive(ar_archive);
109#else
110 xread_all(ar_archive->src_fd, magic, 7);
111 if (strncmp(magic, "!<arch>", 7) != 0) {
112 error_msg_and_die("Invalid ar magic");
113 }
114 ar_archive->offset += 7;
115
116 while (get_header_ar(ar_archive) == EXIT_SUCCESS);
117#endif
118 101
119 /* Cleanup */ 102 /* Cleanup */
120 close (ar_archive->src_fd); 103 close (ar_archive->src_fd);
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)
48#ifdef CONFIG_FEATURE_DEB_TAR_BZ2 48#ifdef CONFIG_FEATURE_DEB_TAR_BZ2
49 if (strcmp(name_ptr, ".bz2") == 0) { 49 if (strcmp(name_ptr, ".bz2") == 0) {
50 archive_handle->sub_archive->read = read_bz2; 50 archive_handle->sub_archive->read = read_bz2;
51// BZ2_bzReadOpen(archive_handle->sub_archive->src_fd, NULL, 0);
52 BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0); 51 BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0);
53 archive_handle->action_data_subarchive = get_header_tar; 52 archive_handle->action_data_subarchive = get_header_tar;
54 return(EXIT_SUCCESS); 53 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)
27{ 27{
28 BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0); 28 BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0);
29 29
30 archive_handle->read = read_bz2;
31 archive_handle->seek = seek_by_char;
32
30 archive_handle->offset = 0; 33 archive_handle->offset = 0;
31 while (get_header_tar(archive_handle) == EXIT_SUCCESS); 34 while (get_header_tar(archive_handle) == EXIT_SUCCESS);
32 35
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)
28 int fd_pipe[2]; 28 int fd_pipe[2];
29 int pid; 29 int pid;
30 unsigned char magic[2]; 30 unsigned char magic[2];
31 31
32 /* Cant lseek over pipe's */ 32 /* Cant lseek over pipe's */
33 archive_handle->read = read;
33 archive_handle->seek = seek_by_char; 34 archive_handle->seek = seek_by_char;
34 35
35 archive_xread_all(archive_handle, &magic, 2); 36 archive_xread_all(archive_handle, &magic, 2);
diff --git a/archival/tar.c b/archival/tar.c
index 01ec90c6f..f9711f8df 100644
--- a/archival/tar.c
+++ b/archival/tar.c
@@ -685,7 +685,7 @@ int tar_main(int argc, char **argv)
685#endif 685#endif
686#ifdef CONFIG_FEATURE_TAR_BZIP2 686#ifdef CONFIG_FEATURE_TAR_BZIP2
687 case 'j': 687 case 'j':
688 tar_handle->read = read_bz2; 688 get_header_ptr = get_header_tar_bz2;
689 break; 689 break;
690#endif 690#endif
691 default: 691 default:
@@ -738,21 +738,9 @@ int tar_main(int argc, char **argv)
738 tar_handle->src_fd = fileno(stdin); 738 tar_handle->src_fd = fileno(stdin);
739 tar_handle->seek = seek_by_char; 739 tar_handle->seek = seek_by_char;
740 } else { 740 } else {
741 tar_handle->seek = seek_by_jump;
742 tar_handle->src_fd = xopen(tar_filename, O_RDONLY); 741 tar_handle->src_fd = xopen(tar_filename, O_RDONLY);
743 } 742 }
744#ifdef CONFIG_FEATURE_TAR_GZIP 743 while (get_header_ptr(tar_handle) == EXIT_SUCCESS);
745 if (get_header_ptr == get_header_tar_gz) {
746 get_header_tar_gz(tar_handle);
747 } else
748#endif /* CONFIG_FEATURE_TAR_GZIP */
749#ifdef CONFIG_FEATURE_TAR_BZIP2
750 if (tar_handle->read == read_bz2) {
751 get_header_tar_bz2(tar_handle);
752 } else
753#endif /* CONFIG_FEATURE_TAR_BZIP2 */
754
755 while (get_header_tar(tar_handle) == EXIT_SUCCESS);
756 744
757 /* Ckeck that every file that should have been extracted was */ 745 /* Ckeck that every file that should have been extracted was */
758 while (tar_handle->accept) { 746 while (tar_handle->accept) {