Call setvbuf from here isntead of gz_open for compatability with uclibc
diff --git a/archival/rpm2cpio.c b/archival/rpm2cpio.c
index 8d4ca84..45c3ffb 100644
--- a/archival/rpm2cpio.c
+++ b/archival/rpm2cpio.c
@@ -74,6 +74,8 @@
 	} 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 @@
 	skip_header(rpmfile);
 
 	cpiofile = gz_open(rpmfile, &gunzip_pid);
+
 	copyfd(fileno(cpiofile), fileno(stdout));
 	gz_close(gunzip_pid);
 	fclose(rpmfile);
diff --git a/rpm2cpio.c b/rpm2cpio.c
index 8d4ca84..45c3ffb 100644
--- a/rpm2cpio.c
+++ b/rpm2cpio.c
@@ -74,6 +74,8 @@
 	} 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 @@
 	skip_header(rpmfile);
 
 	cpiofile = gz_open(rpmfile, &gunzip_pid);
+
 	copyfd(fileno(cpiofile), fileno(stdout));
 	gz_close(gunzip_pid);
 	fclose(rpmfile);