]> mj.ucw.cz Git - libucw.git/blobdiff - lib/fb-grow.c
XML: Small bugfix in xml_merge_chars.
[libucw.git] / lib / fb-grow.c
index 0b04817fcc1caa6855845700ec175a911e4e4aab..f9a654a4b2eeb29f69af3b54c273c47bf4f26c78 100644 (file)
@@ -10,6 +10,7 @@
 #include "lib/lib.h"
 #include "lib/fastbuf.h"
 
+#include <stdio.h>
 #include <stdlib.h>
 
 struct fb_gbuf {
@@ -45,7 +46,7 @@ fbgrow_spout(struct fastbuf *b)
     }
 }
 
-static void
+static int
 fbgrow_seek(struct fastbuf *b, sh_off_t pos, int whence)
 {
   ASSERT(FB_GBUF(b)->last_written);    /* Seeks allowed only in read mode */
@@ -56,6 +57,7 @@ fbgrow_seek(struct fastbuf *b, sh_off_t pos, int whence)
   b->bptr = b->buffer + pos;
   b->bstop = FB_GBUF(b)->last_written;
   b->pos = len;
+  return 1;
 }
 
 static void
@@ -107,12 +109,12 @@ fbgrow_rewind(struct fastbuf *b)
 int main(void)
 {
   struct fastbuf *f;
-  int t;
+  uns t;
 
   f = fbgrow_create(3);
   for (uns i=0; i<5; i++)
     {
-      fbgrow_write(f);
+      fbgrow_reset(f);
       bwrite(f, "12345", 5);
       bwrite(f, "12345", 5);
       printf("<%d>", (int)btell(f));
@@ -120,13 +122,13 @@ int main(void)
       printf("<%d>", (int)btell(f));
       fbgrow_rewind(f);
       printf("<%d>", (int)btell(f));
-      while ((t = bgetc(f)) >= 0)
+      while ((t = bgetc(f)) != ~0U)
        putchar(t);
       printf("<%d>", (int)btell(f));
       fbgrow_rewind(f);
       bseek(f, -1, SEEK_END);
       printf("<%d>", (int)btell(f));
-      while ((t = bgetc(f)) >= 0)
+      while ((t = bgetc(f)) != ~0U)
        putchar(t);
       printf("<%d>\n", (int)btell(f));
     }