[PATCH 22/37] xi: More warning cleanup for input

Keith Packard keithp at keithp.com
Sun Nov 17 00:01:47 PST 2013


Lots more const char stuff.

Remove duplicate defs of CoreKeyboardProc and CorePointerProc from
test/xi2/protocol-common.c

Signed-off-by: Keith Packard <keithp at keithp.com>
---
 Xi/extinit.c               |  4 ++--
 Xi/listdev.c               |  2 +-
 dix/devices.c              | 11 ++++++-----
 dix/inpututils.c           | 16 ++++++++--------
 include/input.h            | 12 ++++++------
 include/inputstr.h         |  2 +-
 test/input.c               |  4 ++--
 test/xi2/protocol-common.c |  3 ---
 8 files changed, 26 insertions(+), 28 deletions(-)

diff --git a/Xi/extinit.c b/Xi/extinit.c
index a49a421..c13bc47 100644
--- a/Xi/extinit.c
+++ b/Xi/extinit.c
@@ -1169,8 +1169,8 @@ IResetProc(ExtensionEntry * unused)
     EventSwapVector[DevicePropertyNotify] = NotImplemented;
     RestoreExtensionEvents();
 
-    free(xi_all_devices.name);
-    free(xi_all_master_devices.name);
+    free((void *) xi_all_devices.name);
+    free((void *) xi_all_master_devices.name);
 
     XIBarrierReset();
 }
diff --git a/Xi/listdev.c b/Xi/listdev.c
index 014c61d..470fb52 100644
--- a/Xi/listdev.c
+++ b/Xi/listdev.c
@@ -119,7 +119,7 @@ SizeDeviceInfo(DeviceIntPtr d, int *namesize, int *size)
  */
 
 static void
-CopyDeviceName(char **namebuf, char *name)
+CopyDeviceName(char **namebuf, const char *name)
 {
     char *nameptr = (char *) *namebuf;
 
diff --git a/dix/devices.c b/dix/devices.c
index a680ed8..3aecd1b 100644
--- a/dix/devices.c
+++ b/dix/devices.c
@@ -955,7 +955,7 @@ CloseDevice(DeviceIntPtr dev)
     while (dev->xkb_interest)
         XkbRemoveResourceClient((DevicePtr) dev, dev->xkb_interest->resource);
 
-    free(dev->name);
+    free((void *) dev->name);
 
     classes = (ClassesPtr) &dev->key;
     FreeAllDeviceClasses(classes);
@@ -2735,6 +2735,7 @@ AllocDevicePair(ClientPtr client, const char *name,
 {
     DeviceIntPtr pointer;
     DeviceIntPtr keyboard;
+    char *dev_name;
 
     *ptr = *keybd = NULL;
 
@@ -2745,12 +2746,12 @@ AllocDevicePair(ClientPtr client, const char *name,
     if (!pointer)
         return BadAlloc;
 
-    if (asprintf(&pointer->name, "%s pointer", name) == -1) {
-        pointer->name = NULL;
+    if (asprintf(&dev_name, "%s pointer", name) == -1) {
         RemoveDevice(pointer, FALSE);
 
         return BadAlloc;
     }
+    pointer->name = dev_name;
 
     pointer->public.processInputProc = ProcessOtherEvent;
     pointer->public.realInputProc = ProcessOtherEvent;
@@ -2771,13 +2772,13 @@ AllocDevicePair(ClientPtr client, const char *name,
         return BadAlloc;
     }
 
-    if (asprintf(&keyboard->name, "%s keyboard", name) == -1) {
-        keyboard->name = NULL;
+    if (asprintf(&dev_name, "%s keyboard", name) == -1) {
         RemoveDevice(keyboard, FALSE);
         RemoveDevice(pointer, FALSE);
 
         return BadAlloc;
     }
+    keyboard->name = dev_name;
 
     keyboard->public.processInputProc = ProcessOtherEvent;
     keyboard->public.realInputProc = ProcessOtherEvent;
diff --git a/dix/inpututils.c b/dix/inpututils.c
index a10a7c7..3e1d75f 100644
--- a/dix/inpututils.c
+++ b/dix/inpututils.c
@@ -351,7 +351,7 @@ DuplicateInputAttributes(InputAttributes * attrs)
 {
     InputAttributes *new_attr;
     int ntags = 0;
-    char **tags, **new_tags;
+    const char **tags, **new_tags;
 
     if (!attrs)
         return NULL;
@@ -403,20 +403,20 @@ DuplicateInputAttributes(InputAttributes * attrs)
 void
 FreeInputAttributes(InputAttributes * attrs)
 {
-    char **tags;
+    const char **tags;
 
     if (!attrs)
         return;
 
-    free(attrs->product);
-    free(attrs->vendor);
-    free(attrs->device);
-    free(attrs->pnp_id);
-    free(attrs->usb_id);
+    free((void *) attrs->product);
+    free((void *) attrs->vendor);
+    free((void *) attrs->device);
+    free((void *) attrs->pnp_id);
+    free((void *) attrs->usb_id);
 
     if ((tags = attrs->tags))
         while (*tags)
-            free(*tags++);
+            free((void *) *tags++);
 
     free(attrs->tags);
     free(attrs);
diff --git a/include/input.h b/include/input.h
index 2d5e531..042128f 100644
--- a/include/input.h
+++ b/include/input.h
@@ -221,12 +221,12 @@ typedef struct _InputOption InputOption;
 typedef struct _XI2Mask XI2Mask;
 
 typedef struct _InputAttributes {
-    char *product;
-    char *vendor;
-    char *device;
-    char *pnp_id;
-    char *usb_id;
-    char **tags;                /* null-terminated */
+    const char *product;
+    const char *vendor;
+    const char *device;
+    const char *pnp_id;
+    const char *usb_id;
+    const char **tags;                /* null-terminated */
     uint32_t flags;
 } InputAttributes;
 
diff --git a/include/inputstr.h b/include/inputstr.h
index dc36c5d..d369c9f 100644
--- a/include/inputstr.h
+++ b/include/inputstr.h
@@ -542,7 +542,7 @@ typedef struct _DeviceIntRec {
     GrabInfoRec deviceGrab;     /* grab on the device */
     int type;                   /* MASTER_POINTER, MASTER_KEYBOARD, SLAVE */
     Atom xinput_type;
-    char *name;
+    const char *name;
     int id;
     KeyClassPtr key;
     ValuatorClassPtr valuator;
diff --git a/test/input.c b/test/input.c
index df20f82..aaa7a69 100644
--- a/test/input.c
+++ b/test/input.c
@@ -1101,7 +1101,7 @@ xi_unregister_handlers(void)
 static void
 cmp_attr_fields(InputAttributes * attr1, InputAttributes * attr2)
 {
-    char **tags1, **tags2;
+    const char **tags1, **tags2;
 
     assert(attr1 && attr2);
     assert(attr1 != attr2);
@@ -1182,7 +1182,7 @@ dix_input_attributes(void)
 {
     InputAttributes orig = { 0 };
     InputAttributes *new;
-    char *tags[4] = { "tag1", "tag2", "tag2", NULL };
+    const char *tags[4] = { "tag1", "tag2", "tag2", NULL };
 
     new = DuplicateInputAttributes(NULL);
     assert(!new);
diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
index e2b0b8b..0947898 100644
--- a/test/xi2/protocol-common.c
+++ b/test/xi2/protocol-common.c
@@ -43,9 +43,6 @@ static ClientRec server_client;
 
 void *userdata;
 
-extern int CorePointerProc(DeviceIntPtr pDev, int what);
-extern int CoreKeyboardProc(DeviceIntPtr pDev, int what);
-
 static void
 fake_init_sprite(DeviceIntPtr dev)
 {
-- 
1.8.4.2



More information about the xorg-devel mailing list