Call setvbuf from here isntead of gz_open for compatability with uclibc
authorGlenn L McGrath <bug1@ihug.co.nz>
Fri, 13 Jul 2001 06:49:18 +0000 (06:49 -0000)
committerGlenn L McGrath <bug1@ihug.co.nz>
Fri, 13 Jul 2001 06:49:18 +0000 (06:49 -0000)
archival/rpm2cpio.c
rpm2cpio.c

index 8d4ca84dc5e153d440d8242143989431c0fb3fa1..45c3ffb1725081ccf996e173c6f471dbb706cef5 100644 (file)
@@ -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);
index 8d4ca84dc5e153d440d8242143989431c0fb3fa1..45c3ffb1725081ccf996e173c6f471dbb706cef5 100644 (file)
@@ -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);