aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/Xi/getvers.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/Xi/getvers.c')
-rw-r--r--xorg-server/Xi/getvers.c16
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);