X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Ffb-mem.c;h=c304e16db0b988b73aaf630ecb0af0fe335fdebf;hb=5dea0be536bd0e658f231efd5631b331a8764e5a;hp=82fe251e9ec28413e155e7149c85bccac78873fd;hpb=61da975c346c50ccf9bb9cb7271ef538dc15ab32;p=libucw.git diff --git a/lib/fb-mem.c b/lib/fb-mem.c index 82fe251e..c304e16d 100644 --- a/lib/fb-mem.c +++ b/lib/fb-mem.c @@ -1,8 +1,7 @@ /* - * Sherlock Library -- Fast Buffered I/O on Memory Streams + * UCW Library -- Fast Buffered I/O on Memory Streams * * (c) 1997--2002 Martin Mares - * (c) 2004 Robert Spalek * * This software may be freely distributed and used according to the terms * of the GNU Lesser General Public License. @@ -11,7 +10,7 @@ #include "lib/lib.h" #include "lib/fastbuf.h" -#include +#include struct memstream { unsigned blocksize; @@ -30,7 +29,6 @@ struct fb_mem { struct fastbuf fb; struct memstream *stream; struct msblock *block; - int can_overwrite; }; #define FB_MEM(f) ((struct fb_mem *)(f)->is_fastbuf) @@ -97,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; @@ -119,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) @@ -128,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"); } @@ -151,21 +149,6 @@ fbmem_close(struct fastbuf *f) xfree(f); } -static int -fbmem_config(struct fastbuf *f, uns item, int value) -{ - switch (item) - { - case BCONFIG_CAN_OVERWRITE: ; - int old_value = FB_MEM(f)->can_overwrite; - if (value >= 0 && value <= 1) - FB_MEM(f)->can_overwrite = value; - return old_value; - default: - return -1; - } -} - struct fastbuf * fbmem_create(unsigned blocksize) { @@ -179,7 +162,6 @@ fbmem_create(unsigned blocksize) f->name = ""; f->spout = fbmem_spout; f->close = fbmem_close; - f->config = fbmem_config; return f; } @@ -197,8 +179,7 @@ fbmem_clone_read(struct fastbuf *b) f->refill = fbmem_refill; f->seek = fbmem_seek; f->close = fbmem_close; - f->config = fbmem_config; - FB_MEM(f)->can_overwrite = 1; + f->can_overwrite_buffer = 1; return f; }