X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Ffb-mem.c;h=c304e16db0b988b73aaf630ecb0af0fe335fdebf;hb=5dea0be536bd0e658f231efd5631b331a8764e5a;hp=efe749c51ede07d18c1b1db6d4b2290ccd243e95;hpb=f185581ca3237ec1c37bc4ad92aab4c3ce8e7236;p=libucw.git diff --git a/lib/fb-mem.c b/lib/fb-mem.c index efe749c5..c304e16d 100644 --- a/lib/fb-mem.c +++ b/lib/fb-mem.c @@ -1,5 +1,5 @@ /* - * Sherlock Library -- Fast Buffered I/O on Memory Streams + * UCW Library -- Fast Buffered I/O on Memory Streams * * (c) 1997--2002 Martin Mares * @@ -10,7 +10,7 @@ #include "lib/lib.h" #include "lib/fastbuf.h" -#include +#include struct memstream { unsigned blocksize; @@ -95,7 +95,7 @@ fbmem_spout(struct fastbuf *f) FB_MEM(f)->block = bb; } -static void +static int fbmem_seek(struct fastbuf *f, sh_off_t pos, int whence) { struct memstream *m = FB_MEM(f)->stream; @@ -117,7 +117,7 @@ fbmem_seek(struct fastbuf *f, sh_off_t pos, int whence) f->bufend = f->bstop = b->data + b->size; f->pos = b->pos + b->size; FB_MEM(f)->block = b; - return; + return 1; } } if (!m->first && !pos) @@ -126,7 +126,7 @@ fbmem_seek(struct fastbuf *f, sh_off_t pos, int whence) f->buffer = f->bptr = f->bufend = NULL; f->pos = 0; FB_MEM(f)->block = NULL; - return; + return 1; } die("fbmem_seek to invalid offset"); } @@ -149,18 +149,6 @@ fbmem_close(struct fastbuf *f) xfree(f); } -static int -fbmem_config(struct fastbuf *f UNUSED, uns item, int value UNUSED) -{ - switch (item) - { - case BCONFIG_CAN_OVERWRITE: - return 1; - default: - return -1; - } -} - struct fastbuf * fbmem_create(unsigned blocksize) { @@ -174,7 +162,6 @@ fbmem_create(unsigned blocksize) f->name = ""; f->spout = fbmem_spout; f->close = fbmem_close; - f->config = fbmem_config; return f; } @@ -192,7 +179,7 @@ fbmem_clone_read(struct fastbuf *b) f->refill = fbmem_refill; f->seek = fbmem_seek; f->close = fbmem_close; - f->config = fbmem_config; + f->can_overwrite_buffer = 1; return f; }