X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=ucw%2Ffb-socket.c;h=1402f7ba5a4953d8d3f89e68a9d21d17106a8897;hb=959566090f98dd31eaa67d3d5959b641e5fe902b;hp=dce8fffde2d540ebdde0c9992cd2e64bb8b4447b;hpb=a4fe009d3366b0a3e119713b0ecc7fc0070efdfa;p=libucw.git diff --git a/ucw/fb-socket.c b/ucw/fb-socket.c index dce8fffd..1402f7ba 100644 --- a/ucw/fb-socket.c +++ b/ucw/fb-socket.c @@ -7,9 +7,9 @@ * of the GNU Lesser General Public License. */ -#include "ucw/lib.h" -#include "ucw/fastbuf.h" -#include "ucw/fb-socket.h" +#include +#include +#include #include #include @@ -22,7 +22,7 @@ struct fb_sock { byte buf[0]; }; -#define FB_SOCK(f) ((struct fb_sock *)(f)->is_fastbuf) +#define FB_SOCK(f) ((struct fb_sock *)(f)) static int fbs_refill(struct fastbuf *f) @@ -71,9 +71,9 @@ fbs_spout(struct fastbuf *f) .events = POLLOUT, }; - int l = f->bptr - f->buffer; - f->bptr = f->buffer; - char *buf = f->buffer; + int l = f->bptr - f->bstop; + f->bptr = f->bstop; + char *buf = f->bstop; while (l) { @@ -105,7 +105,8 @@ fbs_spout(struct fastbuf *f) static void fbs_close(struct fastbuf *f) { - close(FB_SOCK(f)->par.fd); + if (!FB_SOCK(f)->par.fd_is_shared) + close(FB_SOCK(f)->par.fd); xfree(f); } @@ -132,7 +133,7 @@ fbsock_create(struct fbsock_params *p) #include -static void test_err(void *x UNUSED, uns flags, char *msg UNUSED) +static void test_err(void *x UNUSED, uint flags, char *msg UNUSED) { if (flags & FBSOCK_READ) printf("READ");