]> mj.ucw.cz Git - libucw.git/commitdiff
`buckettools -c' now uses fastbufs for output.
authorMartin Mares <mj@ucw.cz>
Sat, 28 Feb 2004 10:55:05 +0000 (10:55 +0000)
committerMartin Mares <mj@ucw.cz>
Sat, 28 Feb 2004 10:55:05 +0000 (10:55 +0000)
lib/buckettool.c

index 886bd41b452a8d7fead297039bd421261eeb7105..179e3d98ea67e10844be6dfe4b33a8f94ed7d844 100644 (file)
@@ -141,23 +141,25 @@ static void
 cat(void)
 {
   struct obuck_header h;
-  struct fastbuf *b;
+  struct fastbuf *b, *out;
   byte buf[1024];
   int l, lf;
 
   obuck_init(0);
+  out = bfdopen_shared(1, 65536);
   while (b = obuck_slurp_pool(&h))
     {
-      printf("### %08x %6d %08x\n", h.oid, h.length, h.type);
+      bprintf(out, "### %08x %6d %08x\n", h.oid, h.length, h.type);
       lf = 1;
       while ((l = bread(b, buf, sizeof(buf))))
        {
-         fwrite(buf, 1, l, stdout);
+         bwrite(out, buf, l);
          lf = (buf[l-1] == '\n');
        }
       if (!lf)
-       printf("\n# <missing EOL>\n");
+       bprintf(out, "\n# <missing EOL>\n");
     }
+  bclose(out);
   obuck_cleanup();
 }