On Fri, Mar 25, 2005 at 05:07:55PM -0500, Branden Robinson wrote: > I'm attaching a patch, based on freedesktop.org CVS (xorg module). It would, of course, be helpful if I had actually attached the patch. Doing so now. -- G. Branden Robinson | Wanton killing of innocent Debian GNU/Linux | civilians is terrorism, not a war branden@debian.org | against terrorism. http://people.debian.org/~branden/ | -- Noam Chomsky
Index: xc/include/extensions/xf86mscstr.h
===================================================================
RCS file: /cvs/xorg/xc/include/extensions/xf86mscstr.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- xc/include/extensions/xf86mscstr.h 23 Apr 2004 18:43:06 -0000 1.2
+++ xc/include/extensions/xf86mscstr.h 15 Dec 2004 00:34:34 -0000 1.3
@@ -14,7 +14,7 @@
#define XF86MISCNAME "XFree86-Misc"
#define XF86MISC_MAJOR_VERSION 0 /* current version numbers */
-#define XF86MISC_MINOR_VERSION 8
+#define XF86MISC_MINOR_VERSION 9
typedef struct _XF86MiscQueryVersion {
CARD8 reqType; /* always XF86MiscReqCode */
--- xc/programs/Xserver/Xext/xf86misc.c 2004-07-09 00:08:16.000000000 -0500
+++ xc/programs/Xserver/Xext/xf86misc.c 2005-02-27 23:32:26.000000000 -0500
@@ -1,4 +1,4 @@
-/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.38 2003/04/03 16:15:47 dawes Exp $ */
+/* $XFree86: xc/programs/Xserver/Xext/xf86misc.c,v 3.41 2003/11/17 22:20:27 dawes Exp $ */
/*
* Copyright (c) 1995, 1996 The XFree86 Project, Inc
@@ -54,9 +54,7 @@
#define MPRIV(c) ((c)->devPrivates[MiscClientPrivateIndex].ptr)
static void XF86MiscResetProc(
-#if NeedFunctionPrototypes
ExtensionEntry* /* extEntry */
-#endif
);
static void
@@ -104,7 +102,9 @@
static DISPATCH_PROC(SProcXF86MiscSetSaver);
#endif
+#if 0
static unsigned char XF86MiscReqCode = 0;
+#endif
#ifdef DEBUG
# define DEBUG_P(x) ErrorF(x"\n");
@@ -150,7 +150,9 @@
SProcXF86MiscDispatch,
XF86MiscResetProc,
StandardMinorOpcode))) {
+#if 0
XF86MiscReqCode = (unsigned char)extEntry->base;
+#endif
miscErrorBase = extEntry->errorBase;
}
}
@@ -356,14 +358,13 @@
if (xf86GetVerbosity() > 1) {
ErrorF("SetMouseSettings - type: %d brate: %d srate: %d chdmid: %d\n",
- stuff->mousetype, stuff->baudrate,
- stuff->samplerate, stuff->chordmiddle);
- ErrorF(" em3but: %d em3tim: %d res: %d flags: %d\n",
- stuff->emulate3buttons, stuff->emulate3timeout,
- stuff->resolution, stuff->flags);
+ (int)stuff->mousetype, (int)stuff->baudrate,
+ (int)stuff->samplerate, stuff->chordmiddle);
+ ErrorF(" em3but: %d em3tim: %d res: %d flags: %ld\n",
+ stuff->emulate3buttons, (int)stuff->emulate3timeout,
+ (int)stuff->resolution, (unsigned long)stuff->flags);
}
-
if ((mouse = MiscExtCreateStruct(MISC_POINTER)) == (pointer) 0)
return BadAlloc;
@@ -429,8 +430,8 @@
if (xf86GetVerbosity() > 1)
ErrorF("SetKbdSettings - type: %d rate: %d delay: %d snumlk: %d\n",
- stuff->kbdtype, stuff->rate,
- stuff->delay, stuff->servnumlock);
+ (int)stuff->kbdtype, (int)stuff->rate,
+ (int)stuff->delay, stuff->servnumlock);
if ((kbd = MiscExtCreateStruct(MISC_KEYBOARD)) == (pointer) 0)
return BadAlloc;
@@ -581,20 +582,29 @@
strncpy(msgtype,(char*)(&stuff[1]),stuff->typelen);
} else return BadValue;
if (stuff->vallen) {
- if (!(msgval = xalloc(stuff->vallen)))
+ if (!(msgval = xalloc(stuff->vallen))) {
+ xfree(msgtype);
return BadAlloc;
- strncpy(msgval,(char*)(&stuff[1] + ((stuff->typelen + 3) & ~3)),
+ }
+ strncpy(msgval,(char*)((char*)&stuff[1] + ((stuff->typelen + 3) & ~3)),
stuff->vallen);
- } else return BadValue;
+ } else {
+ xfree(msgtype);
+ return BadValue;
+ }
- if ((retval= MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 0)
+ if ((retval = MiscExtPassMessage(stuff->screen,msgtype,msgval,&retstr)) != 0) {
+ xfree(msgtype);
+ xfree(msgval);
return retval;
+ }
rep.type = X_Reply;
rep.sequenceNumber = client->sequence;
rep.mesglen = (retstr? strlen(retstr): 0);
rep.length = (SIZEOF(xXF86MiscPassMessageReply) - SIZEOF(xGenericReply) +
((rep.mesglen + 3) & ~3)) >> 2;
+ rep.status = 0;
if (client->swapped) {
swaps(&rep.sequenceNumber, n);
@@ -606,6 +616,9 @@
if (rep.mesglen)
WriteToClient(client, rep.mesglen, (char *)retstr);
+ xfree(msgtype);
+ xfree(msgval);
+
return (client->noClientException);
}
Attachment:
signature.asc
Description: Digital signature