X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;ds=inline;f=ucw%2Ffb-direct.c;h=f87baa36316ba4ebfd78ce4d3371e3e9ce2a3491;hb=8c23d507cbb0af5452d6d4e16b1750adfbb7d28d;hp=71e7351b449d6ab51414a217a8f8f9538e357fc5;hpb=a45646a634b71708f5bc4277868c60e80daaa84c;p=libucw.git diff --git a/ucw/fb-direct.c b/ucw/fb-direct.c index 71e7351b..f87baa36 100644 --- a/ucw/fb-direct.c +++ b/ucw/fb-direct.c @@ -25,12 +25,12 @@ #undef LOCAL_DEBUG -#include "ucw/lib.h" -#include "ucw/fastbuf.h" -#include "ucw/lfs.h" -#include "ucw/asio.h" -#include "ucw/conf.h" -#include "ucw/threads.h" +#include +#include +#include +#include +#include +#include #include #include @@ -57,7 +57,7 @@ struct fb_direct { enum fbdir_mode mode; byte name[0]; }; -#define FB_DIRECT(f) ((struct fb_direct *)(f)->is_fastbuf) +#define FB_DIRECT(f) ((struct fb_direct *)(f)) #ifndef TEST uns fbdir_cheat; @@ -159,7 +159,7 @@ fbdir_refill(struct fastbuf *f) if (!r->status) return 0; if (r->status < 0) - die("Error reading %s: %s", f->name, strerror(r->returned_errno)); + bthrow(f, "read", "Error reading %s: %s", f->name, strerror(r->returned_errno)); f->bptr = f->buffer = r->buffer; f->bstop = f->bufend = f->buffer + r->status; f->pos += r->status; @@ -193,7 +193,7 @@ fbdir_spout(struct fastbuf *f) asio_sync(F->io_queue); DBG("FB-DIRECT: Truncating at %llu", (long long)f->pos); if (ucw_ftruncate(F->fd, f->pos) < 0) - die("Error truncating %s: %m", f->name); + bthrow(f, "write", "Error truncating %s: %m", f->name); } else asio_submit(r); @@ -308,13 +308,12 @@ fbdir_open_fd_internal(int fd, const char *name, struct asio_queue *q, uns buffe f->close = fbdir_close; f->config = fbdir_config; f->can_overwrite_buffer = 2; - fb_tie(f); return f; } #ifdef TEST -#include "ucw/getopt.h" +#include int main(int argc, char **argv) {