Changeset 1770 in MondoRescue for branches/stable/mindi-busybox/archival/dpkg_deb.c
- Timestamp:
- Nov 6, 2007, 11:01:53 AM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/stable/mindi-busybox/archival/dpkg_deb.c
r821 r1770 5 5 * Licensed under GPLv2 or later, see file LICENSE in this tarball for details. 6 6 */ 7 #include <fcntl.h> 8 #include <stdlib.h> 9 #include <string.h> 10 #include <unistd.h> 11 7 #include "libbb.h" 12 8 #include "unarchive.h" 13 #include "busybox.h"14 9 15 10 #define DPKG_DEB_OPT_CONTENTS 1 … … 19 14 #define DPKG_DEB_OPT_EXTRACT_VERBOSE 16 20 15 16 int dpkg_deb_main(int argc, char **argv); 21 17 int dpkg_deb_main(int argc, char **argv) 22 18 { … … 24 20 archive_handle_t *tar_archive; 25 21 llist_t *control_tar_llist = NULL; 26 unsigned longopt;27 c har *extract_dir = NULL;22 unsigned opt; 23 const char *extract_dir = NULL; 28 24 short argcount = 1; 29 25 … … 36 32 ar_archive->filter = filter_accept_list_reassign; 37 33 38 #if def CONFIG_FEATURE_DEB_TAR_GZ39 llist_add_to(&(ar_archive->accept), "data.tar.gz");40 llist_add_to(&control_tar_llist, "control.tar.gz");34 #if ENABLE_FEATURE_DEB_TAR_GZ 35 llist_add_to(&(ar_archive->accept), (char*)"data.tar.gz"); 36 llist_add_to(&control_tar_llist, (char*)"control.tar.gz"); 41 37 #endif 42 38 43 #if def CONFIG_FEATURE_DEB_TAR_BZ244 llist_add_to(&(ar_archive->accept), "data.tar.bz2");45 llist_add_to(&control_tar_llist, "control.tar.bz2");39 #if ENABLE_FEATURE_DEB_TAR_BZ2 40 llist_add_to(&(ar_archive->accept), (char*)"data.tar.bz2"); 41 llist_add_to(&control_tar_llist, (char*)"control.tar.bz2"); 46 42 #endif 47 43 48 bb_opt_complementally = "?c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX";49 opt = bb_getopt_ulflags(argc,argv, "cefXx");44 opt_complementary = "?c--efXx:e--cfXx:f--ceXx:X--cefx:x--cefX"; 45 opt = getopt32(argv, "cefXx"); 50 46 51 47 if (opt & DPKG_DEB_OPT_CONTENTS) { … … 66 62 * specific field to print */ 67 63 ar_archive->accept = control_tar_llist; 68 llist_add_to(&(tar_archive->accept), "./control");64 llist_add_to(&(tar_archive->accept), (char*)"./control"); 69 65 tar_archive->filter = filter_accept_list; 70 66 tar_archive->action_data = data_extract_to_stdout; … … 82 78 } 83 79 84 tar_archive->src_fd = ar_archive->src_fd = bb_xopen(argv[optind++], O_RDONLY);80 tar_archive->src_fd = ar_archive->src_fd = xopen(argv[optind++], O_RDONLY); 85 81 86 82 /* Workout where to extract the files */ … … 91 87 if (extract_dir) { 92 88 mkdir(extract_dir, 0777); /* bb_make_directory(extract_dir, 0777, 0) */ 93 bb_xchdir(extract_dir);89 xchdir(extract_dir); 94 90 } 95 91 unpack_ar_archive(ar_archive); 96 92 97 93 /* Cleanup */ 98 close 94 close(ar_archive->src_fd); 99 95 100 return (EXIT_SUCCESS);96 return EXIT_SUCCESS; 101 97 }
Note:
See TracChangeset
for help on using the changeset viewer.