X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Ffb-atomic.c;h=a29e758b62283cc2e9a29f96440714d4e515736e;hb=b8667492cf36a609939ee35ac42900ff0b0cc80f;hp=aef0018ac03ddaeca722b5a5594348de96139ada;hpb=ba1c173f544383aa6553a75dee6e6858d8f243a4;p=libucw.git diff --git a/ucw/fb-atomic.c b/ucw/fb-atomic.c index aef0018a..a29e758b 100644 --- a/ucw/fb-atomic.c +++ b/ucw/fb-atomic.c @@ -7,23 +7,24 @@ * of the GNU Lesser General Public License. */ -#include "ucw/lib.h" -#include "ucw/fastbuf.h" -#include "ucw/io.h" -#include "ucw/conf.h" -#include "ucw/trans.h" +#include +#include +#include +#include +#include #include #include #include -static uns trace; +static uint trace; #ifndef TEST static struct cf_section fbatomic_config = { CF_ITEMS { - CF_UNS("Trace", &trace) + CF_UINT("Trace", &trace), + CF_END } }; @@ -34,13 +35,14 @@ static void CONSTRUCTOR fbatomic_init_config(void) #endif +#define FB_ATOMIC(f) ((struct fb_atomic *)(f)) #define TRACE(m...) do { if(trace) msg(L_DEBUG, "FB_ATOMIC: " m); } while(0) struct fb_atomic_file { int fd; int use_count; int record_len; - uns locked; + uint locked; byte name[1]; }; @@ -70,13 +72,14 @@ fbatomic_spout(struct fastbuf *f) struct fb_atomic *F = FB_ATOMIC(f); if (F->af->locked) { - uns written = f->bptr - f->buffer; - uns size = f->bufend - f->buffer + F->slack_size; + uint written = f->bptr - f->buffer; + uint size = f->bufend - f->buffer + F->slack_size; F->slack_size *= 2; TRACE("Reallocating buffer for atomic file %s with slack %d", f->name, F->slack_size); f->buffer = xrealloc(f->buffer, size); f->bufend = f->buffer + size; f->bptr = f->buffer + written; + f->bstop = f->buffer; F->expected_max_bptr = f->bufend - F->slack_size; } else @@ -98,7 +101,7 @@ fbatomic_close(struct fastbuf *f) } struct fastbuf * -fbatomic_open(const char *name, struct fastbuf *master, uns bufsize, int record_len) +fbatomic_open(const char *name, struct fastbuf *master, uint bufsize, int record_len) { struct fb_atomic *F = xmalloc_zero(sizeof(*F)); struct fastbuf *f = &F->fb;