aboutsummaryrefslogtreecommitdiff
path: root/archival/rpm2cpio.c
diff options
context:
space:
mode:
Diffstat (limited to 'archival/rpm2cpio.c')
-rw-r--r--archival/rpm2cpio.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/archival/rpm2cpio.c b/archival/rpm2cpio.c
index 8d4ca84dc..45c3ffb17 100644
--- a/archival/rpm2cpio.c
+++ b/archival/rpm2cpio.c
@@ -74,6 +74,8 @@ extern int rpm2cpio_main(int argc, char **argv)
} else {
rpmfile = fopen(argv[1], "r");
if (!rpmfile) perror_msg_and_die("Can't open rpm file");
+ /* set the buffer size */
+ setvbuf(rpmfile, NULL, _IOFBF, 0x8000);
}
fread (&lead, sizeof(struct rpm_lead), 1, rpmfile);
@@ -85,6 +87,7 @@ extern int rpm2cpio_main(int argc, char **argv)
skip_header(rpmfile);
cpiofile = gz_open(rpmfile, &gunzip_pid);
+
copyfd(fileno(cpiofile), fileno(stdout));
gz_close(gunzip_pid);
fclose(rpmfile);