diff options
author | marha <marha@users.sourceforge.net> | 2012-10-08 08:09:46 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2012-10-08 08:09:46 +0200 |
commit | de8397bc3d010bba24ec0c4d2e6249a769a86fc7 (patch) | |
tree | a65adde1a897bd07e6009b14a23ec87f14793cf9 /xorg-server/os/io.c | |
parent | 0130346adbce7e6b2422429887fc46c76806d845 (diff) | |
download | vcxsrv-de8397bc3d010bba24ec0c4d2e6249a769a86fc7.tar.gz vcxsrv-de8397bc3d010bba24ec0c4d2e6249a769a86fc7.tar.bz2 vcxsrv-de8397bc3d010bba24ec0c4d2e6249a769a86fc7.zip |
pixman libxcb mesa xserver xkeyboard-config git update 8 oct 2012
xserver: 09f1e5b15b769e1122f0a8d7cae0820038992312
libxcb: 4ffe54f69049e6792a35a287fd9ff83abbd4fd8d
mesa: 86de501f14f11f1e993c8703c0d69bdf1f6c7835
xkeyboard-config: 0a21bb5a28018902a6252fccb620d7dff7e67175
pixman: 3d81d89c292058522cce91338028d9b4c4a23c24
Diffstat (limited to 'xorg-server/os/io.c')
-rw-r--r-- | xorg-server/os/io.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/xorg-server/os/io.c b/xorg-server/os/io.c index e44db3933..2f091c417 100644 --- a/xorg-server/os/io.c +++ b/xorg-server/os/io.c @@ -82,6 +82,23 @@ SOFTWARE. CallbackListPtr ReplyCallback; CallbackListPtr FlushCallback; +typedef struct _connectionInput { + struct _connectionInput *next; + char *buffer; /* contains current client input */ + char *bufptr; /* pointer to current start of data */ + int bufcnt; /* count of bytes in buffer */ + int lenLastReq; + int size; + unsigned int ignoreBytes; /* bytes to ignore before the next request */ +} ConnectionInput; + +typedef struct _connectionOutput { + struct _connectionOutput *next; + unsigned char *buf; + int size; + int count; +} ConnectionOutput; + static ConnectionInputPtr AllocateInputBuffer(void); static ConnectionOutputPtr AllocateOutputBuffer(void); @@ -846,10 +863,13 @@ FlushClient(ClientPtr who, OsCommPtr oc, const void *__extraBuf, int extraCount) long todo; if (!oco) - return 0; + return 0; written = 0; padsize = padding_for_int32(extraCount); notWritten = oco->count + extraCount + padsize; + if (!notWritten) + return 0; + todo = notWritten; while (notWritten) { long before = written; /* amount of whole thing written */ |