]> mj.ucw.cz Git - libucw.git/blobdiff - ucw/fb-grow.c
Trans: Document which modules have to be resourcified
[libucw.git] / ucw / fb-grow.c
index 27b5bf038b0a8329b8e9ca3e939b838a4762d7c4..f6131536662a3c2c4ff25123192e09d4af6aefa4 100644 (file)
@@ -56,7 +56,7 @@ static int fbgrow_seek(struct fastbuf *b, ucw_off_t pos, int whence)
   if (whence == SEEK_END)
     pos += len;
   if (pos < 0 || pos > len)
   if (whence == SEEK_END)
     pos += len;
   if (pos < 0 || pos > len)
-    bthrow(b, "fb.seek", "Seek out of range");
+    bthrow(b, "seek", "Seek out of range");
   b->bptr = b->buffer + pos;
   b->bstop = b->buffer;
   b->pos = 0;
   b->bptr = b->buffer + pos;
   b->bstop = b->buffer;
   b->pos = 0;
@@ -92,7 +92,6 @@ struct fastbuf *fbgrow_create_mp(struct mempool *mp, unsigned basic_size)
   b->spout = fbgrow_spout;
   b->seek = fbgrow_seek;
   b->can_overwrite_buffer = 1;
   b->spout = fbgrow_spout;
   b->seek = fbgrow_seek;
   b->can_overwrite_buffer = 1;
-  fb_tie(b);
   return b;
 }
 
   return b;
 }
 
@@ -112,6 +111,15 @@ void fbgrow_rewind(struct fastbuf *b)
   brewind(b);
 }
 
   brewind(b);
 }
 
+uns fbgrow_get_buf(struct fastbuf *b, byte **buf)
+{
+  byte *end = FB_GBUF(b)->end;
+  end = MAX(end, b->bptr);
+  if (buf)
+    *buf = b->buffer;
+  return end - b->buffer;
+}
+
 #ifdef TEST
 
 int main(void)
 #ifdef TEST
 
 int main(void)