X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=archival%2Frpm.c;h=83160f975eaecd5671cb3c0628cce1f9e9bc4f1e;hb=179e88bec91cfe58096900dc5509a080ff37b083;hp=3c386d2385c36a8db877e7f8e866d487462ba112;hpb=66620fa62691271d777d11c562f894c65cd4f094;p=oweals%2Fbusybox.git diff --git a/archival/rpm.c b/archival/rpm.c index 3c386d238..83160f975 100644 --- a/archival/rpm.c +++ b/archival/rpm.c @@ -7,6 +7,13 @@ * Licensed under GPLv2 or later, see file LICENSE in this source tree. */ +//config:config RPM +//config: bool "rpm" +//config: default y +//config: help +//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 //usage:#define rpm_trivial_usage @@ -22,6 +29,7 @@ //usage: "\n -qpc List config files" #include "libbb.h" +#include "common_bufsiz.h" #include "bb_archive.h" #include "rpm.h" @@ -86,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) { @@ -115,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; }