]> mj.ucw.cz Git - libucw.git/commitdiff
Fixed a couple of bugs.
authorMartin Mares <mj@ucw.cz>
Mon, 15 Jan 2001 11:30:45 +0000 (11:30 +0000)
committerMartin Mares <mj@ucw.cz>
Mon, 15 Jan 2001 11:30:45 +0000 (11:30 +0000)
lib/fb-mem.c

index e382abcecb3b7163e43b9c1d249785f19f55404e..db0f4132827eba40f9141191487086b2660f43fe 100644 (file)
@@ -34,7 +34,7 @@ fbmem_refill(struct fastbuf *f)
       if (!b)
        return 0;
     }
-  else if (f->bstop < b->data + b->size)
+  else if (f->buffer == b->data && f->bstop < b->data + b->size)
     {
       f->bstop = b->data + b->size;
       return 1;
@@ -147,12 +147,14 @@ fbmem_clone_read(struct fastbuf *b)
   struct fastbuf *f = xmalloc(sizeof(struct fastbuf));
   struct memstream *s = b->lldata;
 
+  bflush(b);
   s->uc++;
 
   f->bptr = f->bstop = f->buffer = f->bufend = NULL;
   f->pos = f->fdpos = 0;
   f->name = "<fbmem-read>";
   f->lldata = s;
+  f->llpos = NULL;
   f->refill = fbmem_refill;
   f->spout = NULL;
   f->seek = fbmem_seek;