ash: [VAR] Do not poplocalvars prematurely on regular utilities
[oweals/busybox.git] / archival / rpm.c
index 885eddd643876213ca04e73ae8eaad3c2b79d8c4..98039d49901f8dc203077d58e05013844c0fc052 100644 (file)
@@ -8,10 +8,10 @@
  */
 
 //config:config RPM
-//config:      bool "rpm"
+//config:      bool "rpm (33 kb)"
 //config:      default y
 //config:      help
-//config:        Mini RPM applet - queries and extracts RPM packages.
+//config:      Mini RPM applet - queries and extracts RPM packages.
 
 //applet:IF_RPM(APPLET(rpm, BB_DIR_BIN, BB_SUID_DROP))
 //kbuild:lib-$(CONFIG_RPM) += rpm.o
@@ -29,6 +29,7 @@
 //usage:     "\n       -qpc    List config files"
 
 #include "libbb.h"
+#include "common_bufsiz.h"
 #include "bb_archive.h"
 #include "rpm.h"
 
@@ -93,8 +94,8 @@ struct globals {
        rpm_index **mytags;
        int tagcount;
 } FIX_ALIASING;
-#define G (*(struct globals*)&bb_common_bufsiz1)
-#define INIT_G() do { } while (0)
+#define G (*(struct globals*)bb_common_bufsiz1)
+#define INIT_G() do { setup_common_bufsiz(); } while (0)
 
 static void extract_cpio(int fd, const char *source_rpm)
 {
@@ -122,7 +123,7 @@ static void extract_cpio(int fd, const char *source_rpm)
        archive_handle->src_fd = fd;
        /*archive_handle->offset = 0; - init_handle() did it */
 
-       setup_unzip_on_fd(archive_handle->src_fd, /*fail_if_not_detected:*/ 1);
+       setup_unzip_on_fd(archive_handle->src_fd, /*fail_if_not_compressed:*/ 1);
        while (get_header_cpio(archive_handle) == EXIT_SUCCESS)
                continue;
 }