Minor cleanups
This commit is contained in:
parent
034c371bb2
commit
e356883ffb
@ -29,13 +29,6 @@ extern int dpkg_deb_main(int argc, char **argv)
|
|||||||
#ifndef CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
#ifndef CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
|
||||||
const llist_t *control_tar_llist = NULL;
|
const llist_t *control_tar_llist = NULL;
|
||||||
#endif
|
#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 */
|
/* Setup the tar archive handle */
|
||||||
tar_archive = init_handle();
|
tar_archive = init_handle();
|
||||||
@ -104,17 +97,7 @@ extern int dpkg_deb_main(int argc, char **argv)
|
|||||||
mkdir(argv[optind], 0777);
|
mkdir(argv[optind], 0777);
|
||||||
chdir(argv[optind]);
|
chdir(argv[optind]);
|
||||||
|
|
||||||
#ifdef CONFIG_AR
|
|
||||||
unpack_ar_archive(ar_archive);
|
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 */
|
/* Cleanup */
|
||||||
close (ar_archive->src_fd);
|
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
|
#ifdef CONFIG_FEATURE_DEB_TAR_BZ2
|
||||||
if (strcmp(name_ptr, ".bz2") == 0) {
|
if (strcmp(name_ptr, ".bz2") == 0) {
|
||||||
archive_handle->sub_archive->read = read_bz2;
|
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);
|
BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0);
|
||||||
archive_handle->action_data_subarchive = get_header_tar;
|
archive_handle->action_data_subarchive = get_header_tar;
|
||||||
return(EXIT_SUCCESS);
|
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);
|
BZ2_bzReadOpen(archive_handle->src_fd, NULL, 0);
|
||||||
|
|
||||||
|
archive_handle->read = read_bz2;
|
||||||
|
archive_handle->seek = seek_by_char;
|
||||||
|
|
||||||
archive_handle->offset = 0;
|
archive_handle->offset = 0;
|
||||||
while (get_header_tar(archive_handle) == EXIT_SUCCESS);
|
while (get_header_tar(archive_handle) == EXIT_SUCCESS);
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ extern char get_header_tar_gz(archive_handle_t *archive_handle)
|
|||||||
unsigned char magic[2];
|
unsigned char magic[2];
|
||||||
|
|
||||||
/* Cant lseek over pipe's */
|
/* Cant lseek over pipe's */
|
||||||
|
archive_handle->read = read;
|
||||||
archive_handle->seek = seek_by_char;
|
archive_handle->seek = seek_by_char;
|
||||||
|
|
||||||
archive_xread_all(archive_handle, &magic, 2);
|
archive_xread_all(archive_handle, &magic, 2);
|
||||||
|
@ -685,7 +685,7 @@ int tar_main(int argc, char **argv)
|
|||||||
#endif
|
#endif
|
||||||
#ifdef CONFIG_FEATURE_TAR_BZIP2
|
#ifdef CONFIG_FEATURE_TAR_BZIP2
|
||||||
case 'j':
|
case 'j':
|
||||||
tar_handle->read = read_bz2;
|
get_header_ptr = get_header_tar_bz2;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
@ -738,21 +738,9 @@ int tar_main(int argc, char **argv)
|
|||||||
tar_handle->src_fd = fileno(stdin);
|
tar_handle->src_fd = fileno(stdin);
|
||||||
tar_handle->seek = seek_by_char;
|
tar_handle->seek = seek_by_char;
|
||||||
} else {
|
} else {
|
||||||
tar_handle->seek = seek_by_jump;
|
|
||||||
tar_handle->src_fd = xopen(tar_filename, O_RDONLY);
|
tar_handle->src_fd = xopen(tar_filename, O_RDONLY);
|
||||||
}
|
}
|
||||||
#ifdef CONFIG_FEATURE_TAR_GZIP
|
while (get_header_ptr(tar_handle) == EXIT_SUCCESS);
|
||||||
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);
|
|
||||||
|
|
||||||
/* Ckeck that every file that should have been extracted was */
|
/* Ckeck that every file that should have been extracted was */
|
||||||
while (tar_handle->accept) {
|
while (tar_handle->accept) {
|
||||||
|
Loading…
Reference in New Issue
Block a user