summaryrefslogtreecommitdiffstats
path: root/drivers/hid
diff options
context:
space:
mode:
authorJason Gerecke <killertofu@gmail.com>2015-06-16 03:01:41 +0200
committerJiri Kosina <jkosina@suse.cz>2015-06-18 10:42:38 +0200
commit44b5250b97a0e5c3a257430ea28b10cf73899bd4 (patch)
tree9f22f0cb562c33a462c7af8326261a3af22f708f /drivers/hid
parentHID: wacom: Handle failing HID_DG_CONTACTMAX requests (diff)
downloadlinux-44b5250b97a0e5c3a257430ea28b10cf73899bd4.tar.xz
linux-44b5250b97a0e5c3a257430ea28b10cf73899bd4.zip
HID: wacom: Simplify 'wacom_update_name'
A little bit of cleanup work for 'wacom_update_name' to make it easier on the eyes. Creates a temporary 'name' variable on which we'll perform our edits. Once the name is in its final form, it will be copied (with appropriate suffix) to 'wacom_wac->name' and 'wacom_wac->pad_name'. Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid')
-rw-r--r--drivers/hid/wacom_sys.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/drivers/hid/wacom_sys.c b/drivers/hid/wacom_sys.c
index eea18a6cbdc7..bdf31c97fa2a 100644
--- a/drivers/hid/wacom_sys.c
+++ b/drivers/hid/wacom_sys.c
@@ -1417,6 +1417,7 @@ static void wacom_update_name(struct wacom *wacom)
{
struct wacom_wac *wacom_wac = &wacom->wacom_wac;
struct wacom_features *features = &wacom_wac->features;
+ char name[WACOM_NAME_MAX];
/* Generic devices name unspecified */
if ((features->type == HID_GENERIC) && !strcmp("Wacom HID", features->name)) {
@@ -1424,41 +1425,43 @@ static void wacom_update_name(struct wacom *wacom)
strstr(wacom->hdev->name, "wacom") ||
strstr(wacom->hdev->name, "WACOM")) {
/* name is in HID descriptor, use it */
- strlcpy(wacom_wac->name, wacom->hdev->name,
- sizeof(wacom_wac->name));
+ strlcpy(name, wacom->hdev->name, sizeof(name));
/* strip out excess whitespaces */
while (1) {
- char *gap = strstr(wacom_wac->name, " ");
+ char *gap = strstr(name, " ");
if (gap == NULL)
break;
/* shift everything including the terminator */
memmove(gap, gap+1, strlen(gap));
}
/* get rid of trailing whitespace */
- if (wacom_wac->name[strlen(wacom_wac->name)-1] == ' ')
- wacom_wac->name[strlen(wacom_wac->name)-1] = '\0';
+ if (name[strlen(name)-1] == ' ')
+ name[strlen(name)-1] = '\0';
} else {
/* no meaningful name retrieved. use product ID */
- snprintf(wacom_wac->name, sizeof(wacom_wac->name),
+ snprintf(name, sizeof(name),
"%s %X", features->name, wacom->hdev->product);
}
} else {
- strlcpy(wacom_wac->name, features->name, sizeof(wacom_wac->name));
+ strlcpy(name, features->name, sizeof(name));
}
/* Append the device type to the name */
snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name),
- "%s Pad", wacom_wac->name);
+ "%s Pad", name);
if (features->device_type == BTN_TOOL_PEN) {
- strlcat(wacom_wac->name, " Pen", WACOM_NAME_MAX);
+ snprintf(wacom_wac->name, sizeof(wacom_wac->name),
+ "%s Pen", name);
}
else if (features->device_type == BTN_TOOL_FINGER) {
if (features->touch_max)
- strlcat(wacom_wac->name, " Finger", WACOM_NAME_MAX);
+ snprintf(wacom_wac->name, sizeof(wacom_wac->name),
+ "%s Finger", name);
else
- strlcat(wacom_wac->name, " Pad", WACOM_NAME_MAX);
+ snprintf(wacom_wac->name, sizeof(wacom_wac->name),
+ "%s Pad", name);
}
}