(submit/glx-cleanups-vla) glx: use sizeof() for reply struct
The reply struct's size can safely be determined by the sizeof() operator, so no need for using an extra define here. Making the code easier to read and also open the door for future convenience macros that might determine the buffer size on their own. Signed-off-by: Enrico Weigelt, metux IT consult <info@metux.net>
This commit is contained in:
		
							parent
							
								
									7234be2143
								
							
						
					
					
						commit
						843ad8a04a
					
				| 
						 | 
					@ -43,7 +43,7 @@ set_client_info(__GLXclientState * cl, xGLXSetClientInfoARBReq * req,
 | 
				
			||||||
    /* Verify that the size of the packet matches the size inferred from the
 | 
					    /* Verify that the size of the packet matches the size inferred from the
 | 
				
			||||||
     * sizes specified for the various fields.
 | 
					     * sizes specified for the various fields.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    size = sz_xGLXSetClientInfoARBReq;
 | 
					    size = sizeof(xGLXSetClientInfoARBReq);
 | 
				
			||||||
    size = safe_add(size, safe_mul(req->numVersions, bytes_per_version));
 | 
					    size = safe_add(size, safe_mul(req->numVersions, bytes_per_version));
 | 
				
			||||||
    size = safe_add(size, safe_pad(req->numGLExtensionBytes));
 | 
					    size = safe_add(size, safe_pad(req->numGLExtensionBytes));
 | 
				
			||||||
    size = safe_add(size, safe_pad(req->numGLXExtensionBytes));
 | 
					    size = safe_add(size, safe_pad(req->numGLXExtensionBytes));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -116,7 +116,7 @@ __glXDisp_CreateContextAttribsARB(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
    /* Verify that the size of the packet matches the size inferred from the
 | 
					    /* Verify that the size of the packet matches the size inferred from the
 | 
				
			||||||
     * sizes specified for the various fields.
 | 
					     * sizes specified for the various fields.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    const unsigned expected_size = (sz_xGLXCreateContextAttribsARBReq
 | 
					    const unsigned expected_size = (sizeof(xGLXCreateContextAttribsARBReq)
 | 
				
			||||||
                                    + (req->numAttribs * 8)) / 4;
 | 
					                                    + (req->numAttribs * 8)) / 4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (req->length != expected_size)
 | 
					    if (req->length != expected_size)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -722,7 +722,7 @@ __glXDisp_IsDirect(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
					        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.length);
 | 
					        __GLX_SWAP_INT(&reply.length);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    WriteToClient(client, sz_xGLXIsDirectReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXIsDirectReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return Success;
 | 
					    return Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -761,7 +761,7 @@ __glXDisp_QueryVersion(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.minorVersion);
 | 
					        __GLX_SWAP_INT(&reply.minorVersion);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WriteToClient(client, sz_xGLXQueryVersionReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXQueryVersionReply), &reply);
 | 
				
			||||||
    return Success;
 | 
					    return Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -932,7 +932,7 @@ __glXDisp_GetVisualConfigs(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.numProps);
 | 
					        __GLX_SWAP_INT(&reply.numProps);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WriteToClient(client, sz_xGLXGetVisualConfigsReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXGetVisualConfigsReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (i = 0; i < pGlxScreen->numVisuals; i++) {
 | 
					    for (i = 0; i < pGlxScreen->numVisuals; i++) {
 | 
				
			||||||
        modes = pGlxScreen->visuals[i];
 | 
					        modes = pGlxScreen->visuals[i];
 | 
				
			||||||
| 
						 | 
					@ -1045,7 +1045,7 @@ DoGetFBConfigs(__GLXclientState * cl, unsigned screen)
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.numAttribs);
 | 
					        __GLX_SWAP_INT(&reply.numAttribs);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WriteToClient(client, sz_xGLXGetFBConfigsReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXGetFBConfigsReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (modes = pGlxScreen->fbconfigs; modes != NULL; modes = modes->next) {
 | 
					    for (modes = pGlxScreen->fbconfigs; modes != NULL; modes = modes->next) {
 | 
				
			||||||
        p = 0;
 | 
					        p = 0;
 | 
				
			||||||
| 
						 | 
					@ -1694,12 +1694,12 @@ DoQueryContext(__GLXclientState * cl, GLXContextID gcId)
 | 
				
			||||||
        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
					        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.length);
 | 
					        __GLX_SWAP_INT(&reply.length);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.n);
 | 
					        __GLX_SWAP_INT(&reply.n);
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryContextInfoEXTReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryContextInfoEXTReply), &reply);
 | 
				
			||||||
        __GLX_SWAP_INT_ARRAY((int *) sendBuf, length);
 | 
					        __GLX_SWAP_INT_ARRAY((int *) sendBuf, length);
 | 
				
			||||||
        WriteToClient(client, length << 2, sendBuf);
 | 
					        WriteToClient(client, length << 2, sendBuf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryContextInfoEXTReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryContextInfoEXTReply), &reply);
 | 
				
			||||||
        WriteToClient(client, nReplyBytes, sendBuf);
 | 
					        WriteToClient(client, nReplyBytes, sendBuf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1937,12 +1937,12 @@ DoGetDrawableAttributes(__GLXclientState * cl, XID drawId)
 | 
				
			||||||
        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
					        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.length);
 | 
					        __GLX_SWAP_INT(&reply.length);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.numAttribs);
 | 
					        __GLX_SWAP_INT(&reply.numAttribs);
 | 
				
			||||||
        WriteToClient(client, sz_xGLXGetDrawableAttributesReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXGetDrawableAttributesReply), &reply);
 | 
				
			||||||
        __GLX_SWAP_INT_ARRAY((int *) attributes, length);
 | 
					        __GLX_SWAP_INT_ARRAY((int *) attributes, length);
 | 
				
			||||||
        WriteToClient(client, length << 2, attributes);
 | 
					        WriteToClient(client, length << 2, attributes);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        WriteToClient(client, sz_xGLXGetDrawableAttributesReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXGetDrawableAttributesReply), &reply);
 | 
				
			||||||
        WriteToClient(client, reply.length * sizeof(CARD32), attributes);
 | 
					        WriteToClient(client, reply.length * sizeof(CARD32), attributes);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2022,8 +2022,8 @@ __glXDisp_Render(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    commandsDone = 0;
 | 
					    commandsDone = 0;
 | 
				
			||||||
    pc += sz_xGLXRenderReq;
 | 
					    pc += sizeof(xGLXRenderReq);
 | 
				
			||||||
    left = (req->length << 2) - sz_xGLXRenderReq;
 | 
					    left = (req->length << 2) - sizeof(xGLXRenderReq);
 | 
				
			||||||
    while (left > 0) {
 | 
					    while (left > 0) {
 | 
				
			||||||
        __GLXrenderSizeData entry;
 | 
					        __GLXrenderSizeData entry;
 | 
				
			||||||
        int extra = 0;
 | 
					        int extra = 0;
 | 
				
			||||||
| 
						 | 
					@ -2132,18 +2132,18 @@ __glXDisp_RenderLarge(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
    /*
 | 
					    /*
 | 
				
			||||||
     ** Check the request length.
 | 
					     ** Check the request length.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    if ((req->length << 2) != safe_pad(dataBytes) + sz_xGLXRenderLargeReq) {
 | 
					    if ((req->length << 2) != safe_pad(dataBytes) + sizeof(xGLXRenderLargeReq)) {
 | 
				
			||||||
        client->errorValue = req->length;
 | 
					        client->errorValue = req->length;
 | 
				
			||||||
        /* Reset in case this isn't 1st request. */
 | 
					        /* Reset in case this isn't 1st request. */
 | 
				
			||||||
        ResetLargeCommandStatus(glxc);
 | 
					        ResetLargeCommandStatus(glxc);
 | 
				
			||||||
        return BadLength;
 | 
					        return BadLength;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    pc += sz_xGLXRenderLargeReq;
 | 
					    pc += sizeof(xGLXRenderLargeReq);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (glxc->largeCmdRequestsSoFar == 0) {
 | 
					    if (glxc->largeCmdRequestsSoFar == 0) {
 | 
				
			||||||
        __GLXrenderSizeData entry;
 | 
					        __GLXrenderSizeData entry;
 | 
				
			||||||
        int extra = 0;
 | 
					        int extra = 0;
 | 
				
			||||||
        int left = (req->length << 2) - sz_xGLXRenderLargeReq;
 | 
					        int left = (req->length << 2) - sizeof(xGLXRenderLargeReq);
 | 
				
			||||||
        int cmdlen;
 | 
					        int cmdlen;
 | 
				
			||||||
        int err;
 | 
					        int err;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2398,12 +2398,12 @@ __glXDisp_QueryExtensionsString(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
					        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.length);
 | 
					        __GLX_SWAP_INT(&reply.length);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.n);
 | 
					        __GLX_SWAP_INT(&reply.n);
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryExtensionsStringReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryExtensionsStringReply), &reply);
 | 
				
			||||||
        __GLX_SWAP_INT_ARRAY((int *) buf, length);
 | 
					        __GLX_SWAP_INT_ARRAY((int *) buf, length);
 | 
				
			||||||
        WriteToClient(client, length << 2, buf);
 | 
					        WriteToClient(client, length << 2, buf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryExtensionsStringReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryExtensionsStringReply), &reply);
 | 
				
			||||||
        WriteToClient(client, (int) (length << 2), buf);
 | 
					        WriteToClient(client, (int) (length << 2), buf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -2470,13 +2470,13 @@ __glXDisp_QueryServerString(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
					        __GLX_SWAP_SHORT(&reply.sequenceNumber);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.length);
 | 
					        __GLX_SWAP_INT(&reply.length);
 | 
				
			||||||
        __GLX_SWAP_INT(&reply.n);
 | 
					        __GLX_SWAP_INT(&reply.n);
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryServerStringReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryServerStringReply), &reply);
 | 
				
			||||||
        /** no swap is needed for an array of chars **/
 | 
					        /** no swap is needed for an array of chars **/
 | 
				
			||||||
        /* __GLX_SWAP_INT_ARRAY((int *)buf, length); */
 | 
					        /* __GLX_SWAP_INT_ARRAY((int *)buf, length); */
 | 
				
			||||||
        WriteToClient(client, length << 2, buf);
 | 
					        WriteToClient(client, length << 2, buf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    else {
 | 
					    else {
 | 
				
			||||||
        WriteToClient(client, sz_xGLXQueryServerStringReply, &reply);
 | 
					        WriteToClient(client, sizeof(xGLXQueryServerStringReply), &reply);
 | 
				
			||||||
        WriteToClient(client, (int) (length << 2), buf);
 | 
					        WriteToClient(client, (int) (length << 2), buf);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -138,7 +138,7 @@ __glXSendReply(ClientPtr client, const void *data, size_t elements,
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (void) memcpy(&reply.pad3, data, 8);
 | 
					    (void) memcpy(&reply.pad3, data, 8);
 | 
				
			||||||
    WriteToClient(client, sz_xGLXSingleReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXSingleReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (reply_ints != 0) {
 | 
					    if (reply_ints != 0) {
 | 
				
			||||||
        WriteToClient(client, reply_ints * 4, data);
 | 
					        WriteToClient(client, reply_ints * 4, data);
 | 
				
			||||||
| 
						 | 
					@ -186,7 +186,7 @@ __glXSendReplySwap(ClientPtr client, const void *data, size_t elements,
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    (void) memcpy(&reply.pad3, data, 8);
 | 
					    (void) memcpy(&reply.pad3, data, 8);
 | 
				
			||||||
    WriteToClient(client, sz_xGLXSingleReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXSingleReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (reply_ints != 0) {
 | 
					    if (reply_ints != 0) {
 | 
				
			||||||
        WriteToClient(client, reply_ints * 4, data);
 | 
					        WriteToClient(client, reply_ints * 4, data);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -200,7 +200,7 @@ __glXDisp_RenderMode(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
        .size = nitems,
 | 
					        .size = nitems,
 | 
				
			||||||
        .newMode = newMode
 | 
					        .newMode = newMode
 | 
				
			||||||
    };
 | 
					    };
 | 
				
			||||||
    WriteToClient(client, sz_xGLXRenderModeReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXRenderModeReply), &reply);
 | 
				
			||||||
    if (retBytes) {
 | 
					    if (retBytes) {
 | 
				
			||||||
        WriteToClient(client, retBytes, retBuffer);
 | 
					        WriteToClient(client, retBytes, retBuffer);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -217,7 +217,7 @@ __glXDispSwap_RenderMode(__GLXclientState * cl, GLbyte * pc)
 | 
				
			||||||
    __GLX_SWAP_INT(&reply.retval);
 | 
					    __GLX_SWAP_INT(&reply.retval);
 | 
				
			||||||
    __GLX_SWAP_INT(&reply.size);
 | 
					    __GLX_SWAP_INT(&reply.size);
 | 
				
			||||||
    __GLX_SWAP_INT(&reply.newMode);
 | 
					    __GLX_SWAP_INT(&reply.newMode);
 | 
				
			||||||
    WriteToClient(client, sz_xGLXRenderModeReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXRenderModeReply), &reply);
 | 
				
			||||||
    if (retBytes) {
 | 
					    if (retBytes) {
 | 
				
			||||||
        WriteToClient(client, retBytes, retBuffer);
 | 
					        WriteToClient(client, retBytes, retBuffer);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -59,7 +59,7 @@
 | 
				
			||||||
	reply.sequenceNumber = client->sequence;
 | 
						reply.sequenceNumber = client->sequence;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define __GLX_SEND_HEADER() \
 | 
					#define __GLX_SEND_HEADER() \
 | 
				
			||||||
	WriteToClient (client, sz_xGLXSingleReply, &reply);
 | 
						WriteToClient (client, sizeof(xGLXSingleReply), &reply);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define __GLX_PUT_RETVAL(a) \
 | 
					#define __GLX_PUT_RETVAL(a) \
 | 
				
			||||||
	reply.retval = (a);
 | 
						reply.retval = (a);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,7 @@ static int dispatch_GLXQueryVersion(ClientPtr client)
 | 
				
			||||||
    reply.majorVersion = GlxCheckSwap(client, 1);
 | 
					    reply.majorVersion = GlxCheckSwap(client, 1);
 | 
				
			||||||
    reply.minorVersion = GlxCheckSwap(client, 4);
 | 
					    reply.minorVersion = GlxCheckSwap(client, 4);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    WriteToClient(client, sz_xGLXQueryVersionReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXQueryVersionReply), &reply);
 | 
				
			||||||
    return Success;
 | 
					    return Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -272,7 +272,7 @@ static int CommonMakeCurrent(ClientPtr client,
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    reply.contextTag = GlxCheckSwap(client, reply.contextTag);
 | 
					    reply.contextTag = GlxCheckSwap(client, reply.contextTag);
 | 
				
			||||||
    WriteToClient(client, sz_xGLXMakeCurrentReply, &reply);
 | 
					    WriteToClient(client, sizeof(xGLXMakeCurrentReply), &reply);
 | 
				
			||||||
    return Success;
 | 
					    return Success;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue