X-Git-Url: http://git.demorecorder.com/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fxcb_in.c;h=ead0178f7b4dc5d84740fc5d8e6b78c0b4f5a17b;hb=1b50d2ee1ef532429674126eace88ac73d51ec23;hp=967beac04dbda1d47363297006ff11b641e19a0b;hpb=6149c7a6b57a193bc132fbc35b1772b75e5c7ca7;p=free-sw%2Fxcb%2Flibxcb diff --git a/src/xcb_in.c b/src/xcb_in.c index 967beac..ead0178 100644 --- a/src/xcb_in.c +++ b/src/xcb_in.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include @@ -327,7 +328,9 @@ int _xcb_in_expect_reply(XCBConnection *c, unsigned int request, enum workaround int _xcb_in_read(XCBConnection *c) { - int n = _xcb_readn(c->fd, c->in.queue, sizeof(c->in.queue), &c->in.queue_len); + int n = read(c->fd, c->in.queue + c->in.queue_len, sizeof(c->in.queue) - c->in.queue_len); + if(n > 0) + c->in.queue_len += n; while(read_packet(c)) /* empty */; return (n > 0) || (n < 0 && errno == EAGAIN);