diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2014-01-30 09:01:09 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2014-02-04 11:27:48 +1000 |
commit | 45f1d527f39a296104f2fa79a774446e7e1560e0 (patch) | |
tree | f86738ab7cd125c21976368ebbf71340c8c0d5c8 | |
parent | 675f215af291135ee3ece5414e4a5a2e89bf4ed3 (diff) |
input: un-constify dev->name
Fallout from fecc7eb1cf66db64728ee2d68cd9443df7e70879, and reverts most of the
rest of that patch.
The device name is allocated and may even change during PreInit. The const
warnings came from the test codes, the correct fix here is to fix the test
code.
touch.c: In function ‘touch_init’:
touch.c:254:14: warning: assignment discards ‘const’ qualifier from pointer target type [enabled by default]
dev.name = "test device";
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
-rw-r--r-- | Xi/extinit.c | 4 | ||||
-rw-r--r-- | dix/devices.c | 2 | ||||
-rw-r--r-- | include/inputstr.h | 2 | ||||
-rw-r--r-- | test/touch.c | 20 |
4 files changed, 19 insertions, 9 deletions
diff --git a/Xi/extinit.c b/Xi/extinit.c index 9ebd733ab..26c628cbd 100644 --- a/Xi/extinit.c +++ b/Xi/extinit.c @@ -1169,8 +1169,8 @@ IResetProc(ExtensionEntry * unused) EventSwapVector[DevicePropertyNotify] = NotImplemented; RestoreExtensionEvents(); - free((void *) xi_all_devices.name); - free((void *) xi_all_master_devices.name); + free(xi_all_devices.name); + free(xi_all_master_devices.name); XIBarrierReset(); } diff --git a/dix/devices.c b/dix/devices.c index 45de713ce..a875f03cc 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((void *) dev->name); + free(dev->name); classes = (ClassesPtr) &dev->key; FreeAllDeviceClasses(classes); diff --git a/include/inputstr.h b/include/inputstr.h index dfcf7c383..f6cfb049d 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; - const char *name; + char *name; int id; KeyClassPtr key; ValuatorClassPtr valuator; diff --git a/test/touch.c b/test/touch.c index df1db11de..981c694b6 100644 --- a/test/touch.c +++ b/test/touch.c @@ -40,7 +40,7 @@ touch_grow_queue(void) int i; memset(&dev, 0, sizeof(dev)); - dev.name = "test device"; + dev.name = xnfstrdup("test device"); dev.id = 2; dev.valuator = &val; val.numAxes = 5; @@ -82,6 +82,8 @@ touch_grow_queue(void) assert(t->client_id == 0); assert(t->ddx_id == 0); } + + free(dev.name); } static void @@ -95,7 +97,7 @@ touch_find_ddxid(void) int i; memset(&dev, 0, sizeof(dev)); - dev.name = "test device"; + dev.name = xnfstrdup("test device"); dev.id = 2; dev.valuator = &val; val.numAxes = 5; @@ -150,6 +152,8 @@ touch_find_ddxid(void) ProcessWorkQueue(); ti = TouchFindByDDXID(&dev, 40, TRUE); assert(ti == &dev.last.touches[size]); + + free(dev.name); } static void @@ -164,7 +168,7 @@ touch_begin_ddxtouch(void) int size = 5; memset(&dev, 0, sizeof(dev)); - dev.name = "test device"; + dev.name = xnfstrdup("test device"); dev.id = 2; dev.valuator = &val; val.numAxes = 5; @@ -195,6 +199,8 @@ touch_begin_ddxtouch(void) assert(ti->client_id > last_client_id); assert(!ti->emulate_pointer); last_client_id = ti->client_id; + + free(dev.name); } static void @@ -212,7 +218,7 @@ touch_begin_touch(void) screenInfo.screens[0] = &screen; memset(&dev, 0, sizeof(dev)); - dev.name = "test device"; + dev.name = xnfstrdup("test device"); dev.id = 2; memset(&sprite, 0, sizeof(sprite)); @@ -237,6 +243,8 @@ touch_begin_touch(void) assert(ti->emulate_pointer); assert(touch.num_touches == 1); + + free(dev.name); } static void @@ -251,7 +259,7 @@ touch_init(void) screenInfo.screens[0] = &screen; memset(&dev, 0, sizeof(dev)); - dev.name = "test device"; + dev.name = xnfstrdup("test device"); memset(&sprite, 0, sizeof(sprite)); dev.spriteInfo = &sprite; @@ -264,6 +272,8 @@ touch_init(void) rc = InitTouchClassDeviceStruct(&dev, 1, XIDirectTouch, 2); assert(rc == TRUE); assert(dev.touch); + + free(dev.name); } int |