diff options
Diffstat (limited to 'xorg-server/Xi/getvers.c')
-rw-r--r-- | xorg-server/Xi/getvers.c | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/xorg-server/Xi/getvers.c b/xorg-server/Xi/getvers.c index 88ff1991a..c8e9ebca6 100644 --- a/xorg-server/Xi/getvers.c +++ b/xorg-server/Xi/getvers.c @@ -50,8 +50,6 @@ SOFTWARE. * */ -#define NEED_EVENTS -#define NEED_REPLIES #ifdef HAVE_DIX_CONFIG_H #include <dix-config.h> #endif @@ -64,7 +62,7 @@ SOFTWARE. #include "getvers.h" -XExtensionVersion AllExtensionVersions[128]; +XExtensionVersion XIVersion; /*********************************************************************** * @@ -94,24 +92,22 @@ int ProcXGetExtensionVersion(ClientPtr client) { xGetExtensionVersionReply rep; - XIClientPtr pXIClient; REQUEST(xGetExtensionVersionReq); REQUEST_AT_LEAST_SIZE(xGetExtensionVersionReq); - if (stuff->length != (sizeof(xGetExtensionVersionReq) + - stuff->nbytes + 3) >> 2) + if (stuff->length != bytes_to_int32(sizeof(xGetExtensionVersionReq) + + stuff->nbytes)) return BadLength; - pXIClient = dixLookupPrivate(&client->devPrivates, XIClientPrivateKey); - + memset(&rep, 0, sizeof(xGetExtensionVersionReply)); rep.repType = X_Reply; rep.RepType = X_GetExtensionVersion; rep.length = 0; rep.sequenceNumber = client->sequence; rep.present = TRUE; - rep.major_version = AllExtensionVersions[IReqCode - 128].major_version; - rep.minor_version = AllExtensionVersions[IReqCode - 128].minor_version; + rep.major_version = XIVersion.major_version; + rep.minor_version = XIVersion.minor_version; WriteReplyToClient(client, sizeof(xGetExtensionVersionReply), &rep); |