glxproxy: Use _XReadPad instead of _XEatData to clean up the slop
Xlib already provides a function to eat padding bytes after the data read, so use it instead of calculating it ourselves. Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
parent
1cb182cbdc
commit
87b0cabc14
|
@ -2582,7 +2582,6 @@ __glXQueryExtensionsString(__GLXclientState * cl, GLbyte * pc)
|
|||
xGLXQueryExtensionsStringReply be_reply;
|
||||
DMXScreenInfo *dmxScreen;
|
||||
Display *dpy;
|
||||
int slop;
|
||||
#endif
|
||||
|
||||
screen = req->screen;
|
||||
|
@ -2608,16 +2607,13 @@ __glXQueryExtensionsString(__GLXclientState * cl, GLbyte * pc)
|
|||
_XReply(dpy, (xReply *) &be_reply, 0, False);
|
||||
len = (int) be_reply.length;
|
||||
numbytes = (int) be_reply.n;
|
||||
slop = numbytes * __GLX_SIZE_INT8 & 3;
|
||||
be_buf = (char *) malloc(numbytes);
|
||||
if (!be_buf) {
|
||||
/* Throw data on the floor */
|
||||
_XEatData(dpy, len);
|
||||
}
|
||||
else {
|
||||
_XRead(dpy, (char *) be_buf, numbytes);
|
||||
if (slop)
|
||||
_XEatData(dpy, 4 - slop);
|
||||
_XReadPad(dpy, (char *) be_buf, numbytes);
|
||||
}
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
@ -2666,7 +2662,6 @@ __glXQueryServerString(__GLXclientState * cl, GLbyte * pc)
|
|||
xGLXQueryServerStringReply be_reply;
|
||||
DMXScreenInfo *dmxScreen;
|
||||
Display *dpy;
|
||||
int slop;
|
||||
#endif
|
||||
|
||||
name = req->name;
|
||||
|
@ -2693,16 +2688,13 @@ __glXQueryServerString(__GLXclientState * cl, GLbyte * pc)
|
|||
_XReply(dpy, (xReply *) &be_reply, 0, False);
|
||||
len = (int) be_reply.length;
|
||||
numbytes = (int) be_reply.n;
|
||||
slop = numbytes * __GLX_SIZE_INT8 & 3;
|
||||
be_buf = (char *) malloc(numbytes);
|
||||
if (!be_buf) {
|
||||
/* Throw data on the floor */
|
||||
_XEatData(dpy, len);
|
||||
}
|
||||
else {
|
||||
_XRead(dpy, (char *) be_buf, numbytes);
|
||||
if (slop)
|
||||
_XEatData(dpy, 4 - slop);
|
||||
_XReadPad(dpy, (char *) be_buf, numbytes);
|
||||
}
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
|
|
@ -138,7 +138,7 @@ CalcServerVersionAndExtensions(void)
|
|||
Display *dpy = dmxScreen->beDisplay;
|
||||
xGLXQueryServerStringReq *req;
|
||||
xGLXQueryServerStringReply reply;
|
||||
int length, numbytes, slop;
|
||||
int length, numbytes;
|
||||
|
||||
/* Send the glXQueryServerString request */
|
||||
LockDisplay(dpy);
|
||||
|
@ -151,16 +151,13 @@ CalcServerVersionAndExtensions(void)
|
|||
|
||||
length = (int) reply.length;
|
||||
numbytes = (int) reply.n;
|
||||
slop = numbytes * __GLX_SIZE_INT8 & 3;
|
||||
be_extensions[s] = (char *) malloc(numbytes);
|
||||
if (!be_extensions[s]) {
|
||||
/* Throw data on the floor */
|
||||
_XEatData(dpy, length);
|
||||
}
|
||||
else {
|
||||
_XRead(dpy, (char *) be_extensions[s], numbytes);
|
||||
if (slop)
|
||||
_XEatData(dpy, 4 - slop);
|
||||
_XReadPad(dpy, (char *) be_extensions[s], numbytes);
|
||||
}
|
||||
UnlockDisplay(dpy);
|
||||
SyncHandle();
|
||||
|
|
Loading…
Reference in New Issue
Block a user