X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fglx%2Fglx_query.c;h=7064e7707bfd0b91c53c6249d52a416d553fbc30;hb=2f1fc8db108eb771414aa5440d4c439f63f4e7c1;hp=efad13d376e817e1f77b63954337561bdaedd200;hpb=bcc13b74443137043e8a34f8cb64a5add0d8af93;p=mesa.git diff --git a/src/glx/glx_query.c b/src/glx/glx_query.c index efad13d376e..7064e7707bf 100644 --- a/src/glx/glx_query.c +++ b/src/glx/glx_query.c @@ -31,13 +31,10 @@ #include "glxclient.h" -#if defined(USE_XCB) # include # include # include -#endif -#ifdef USE_XCB /** * Exchange a protocol request for glXQueryServerString. @@ -56,7 +53,7 @@ __glXQueryServerString(Display * dpy, int opcode, CARD32 screen, CARD32 name) /* The spec doesn't mention this, but the Xorg server replies with * a string already terminated with '\0'. */ uint32_t len = xcb_glx_query_server_string_string_length(reply); - char *buf = Xmalloc(len); + char *buf = malloc(len); memcpy(buf, xcb_glx_query_server_string_string(reply), len); free(reply); @@ -80,98 +77,10 @@ __glXGetString(Display * dpy, int opcode, CARD32 contextTag, CARD32 name) /* The spec doesn't mention this, but the Xorg server replies with * a string already terminated with '\0'. */ uint32_t len = xcb_glx_get_string_string_length(reply); - char *buf = Xmalloc(len); + char *buf = malloc(len); memcpy(buf, xcb_glx_get_string_string(reply), len); free(reply); return buf; } -#else - -/** - * GLX protocol structure for the ficticious "GXLGenericGetString" request. - * - * This is a non-existant protocol packet. It just so happens that all of - * the real protocol packets used to request a string from the server have - * an identical binary layout. The only difference between them is the - * meaning of the \c for_whom field and the value of the \c glxCode. - */ -typedef struct GLXGenericGetString -{ - CARD8 reqType; - CARD8 glxCode; - CARD16 length B16; - CARD32 for_whom B32; - CARD32 name B32; -} xGLXGenericGetStringReq; - -/* These defines are only needed to make the GetReq macro happy. - */ -#define sz_xGLXGenericGetStringReq 12 -#define X_GLXGenericGetString 0 - -/** - * Query the Server GLX string. - * This routine will allocate the necessay space for the string. - */ -static char * -__glXGetStringFromServer(Display * dpy, int opcode, CARD32 glxCode, - CARD32 for_whom, CARD32 name) -{ - xGLXGenericGetStringReq *req; - xGLXSingleReply reply; - int length; - int numbytes; - char *buf; - - - LockDisplay(dpy); - - - /* All of the GLX protocol requests for getting a string from the server - * look the same. The exact meaning of the for_whom field is usually - * either the screen number (for glXQueryServerString) or the context tag - * (for GLXSingle). - */ - - GetReq(GLXGenericGetString, req); - req->reqType = opcode; - req->glxCode = glxCode; - req->for_whom = for_whom; - req->name = name; - - _XReply(dpy, (xReply *) & reply, 0, False); - - length = reply.length * 4; - numbytes = reply.size; - - buf = (char *) Xmalloc(numbytes); - if (buf != NULL) { - _XRead(dpy, buf, numbytes); - length -= numbytes; - } - - _XEatData(dpy, length); - - UnlockDisplay(dpy); - SyncHandle(); - - return buf; -} - -char * -__glXQueryServerString(Display * dpy, int opcode, CARD32 screen, CARD32 name) -{ - return __glXGetStringFromServer(dpy, opcode, - X_GLXQueryServerString, screen, name); -} - -char * -__glXGetString(Display * dpy, int opcode, CARD32 contextTag, CARD32 name) -{ - return __glXGetStringFromServer(dpy, opcode, X_GLsop_GetString, - contextTag, name); -} - -#endif /* USE_XCB */