X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=ucw%2Ffb-pool.c;h=e8628dcd9e09bd9c9efd6e4ca09b9fe1b230fc85;hb=edb46c992057862579a9e59a94ba4e752a0f6de8;hp=e889c8e9459f79400262137590b66e68e66339d0;hpb=3f2d709e6d02fc29a2874035d7dfc97bf0187e5b;p=libucw.git diff --git a/ucw/fb-pool.c b/ucw/fb-pool.c index e889c8e9..e8628dcd 100644 --- a/ucw/fb-pool.c +++ b/ucw/fb-pool.c @@ -7,24 +7,23 @@ * of the GNU Lesser General Public License. */ -#include "ucw/lib.h" -#include "ucw/mempool.h" -#include "ucw/fastbuf.h" +#include +#include +#include #include #include -#define FB_POOL(f) ((struct fbpool *)(f)->is_fastbuf) +#define FB_POOL(f) ((struct fbpool *)(f)) static void fbpool_spout(struct fastbuf *b) { - if (b->bptr >= b->bufend) + if (b->bptr == b->bufend) { uns len = b->bufend - b->buffer; - b->buffer = mp_expand(FB_POOL(b)->mp); + b->bstop = b->buffer = mp_expand(FB_POOL(b)->mp); b->bufend = b->buffer + mp_avail(FB_POOL(b)->mp); - b->bstop = b->buffer; b->bptr = b->buffer + len; } }