Make suffix_mult structures const. Thanks to Vladimir N. Oleynik.
[oweals/busybox.git] / dpkg_deb.c
index b20cc2695f66423851212062e488a28e2f0fdbb1..3345c273f5e1c8ff34f2f480cc65fc67e552aa8b 100644 (file)
@@ -17,6 +17,9 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <stdlib.h>
 #include "busybox.h"
 
 typedef struct ar_headers_s {
@@ -40,7 +43,7 @@ extern int dpkg_deb_main(int argc, char **argv)
 {
        const int dpkg_deb_contents = 1;
        const int dpkg_deb_control = 2;
-       const int dpkg_deb_info = 4;
+//     const int dpkg_deb_info = 4;
        const int dpkg_deb_extract = 8;
        const int dpkg_deb_verbose_extract = 16;
        int opt=0;
@@ -115,7 +118,7 @@ extern int dpkg_deb_main(int argc, char **argv)
                extract_flag = TRUE;
                strcpy(ar_filename, "data.tar.gz");
                if ( (optind + 2) > argc ) {
-                       error_msg_and_die("No directory specified\n");
+                       error_msg_and_die("No directory specified");
                }
                target_dir = (char *) xmalloc(strlen(argv[optind+1]));                  
                strcpy(target_dir, argv[optind+1]);
@@ -125,7 +128,7 @@ extern int dpkg_deb_main(int argc, char **argv)
                list_flag = TRUE;
                strcpy(ar_filename, "data.tar.gz");
                if ( (optind + 2) > argc ) {
-                       error_msg_and_die("No directory specified\n");
+                       error_msg_and_die("No directory specified");
                }
                target_dir = (char *) xmalloc(strlen(argv[optind+1]));                  
                strcpy(target_dir, argv[optind+1]);
@@ -136,7 +139,7 @@ extern int dpkg_deb_main(int argc, char **argv)
        
        *ar_headers = get_headers(srcFd);
        if (ar_headers->next==NULL)
-               error_msg_and_die("Couldnt find %s in %s\n",ar_filename, argv[optind]);
+               error_msg_and_die("Couldnt find %s in %s", ar_filename, argv[optind]);
 
        while (ar_headers->next != NULL) {
                if (strcmp(ar_headers->name, ar_filename)==0)
@@ -151,9 +154,10 @@ extern int dpkg_deb_main(int argc, char **argv)
                        mkdir(target_dir, 0755);
                }
                if (chdir(target_dir)==-1) {
-                       error_msg_and_die("Cannot change to dir %s\n",argv[optind+1]);
+                       error_msg_and_die("Cannot change to dir %s", argv[optind+1]);
                }
        }
        status = readTarFile(srcFd, extract_flag, list_flag, extract_to_stdout, verbose_flag, NULL, extract_list);
+       close (srcFd);
        return(EXIT_SUCCESS);
 }