HID: wacom: generic: Strip off excessive name prefixing
authorJason Gerecke <killertofu@gmail.com>
Thu, 20 Oct 2016 01:03:41 +0000 (18:03 -0700)
committerJiri Kosina <jkosina@suse.cz>
Thu, 20 Oct 2016 07:53:56 +0000 (09:53 +0200)
The product name received from the string descriptor in the new MobileStudio
Pro line of tablets begins with "Wacom", which leads to unnecessary visual
noise in the device name when appended to the vendor name which also includes
"Wacom". Look for and fix cases like this.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/wacom_sys.c

index 033cc032f45cba3ac889844cde743038ea58a380..7b9bff2fad94f247ae47a0a13ce9ba318c108754 100644 (file)
@@ -1940,6 +1940,19 @@ static void wacom_update_name(struct wacom *wacom, const char *suffix)
                                /* shift everything including the terminator */
                                memmove(gap, gap+1, strlen(gap));
                        }
+
+                       /* strip off excessive prefixing */
+                       if (strstr(name, "Wacom Co.,Ltd. Wacom ") == name) {
+                               int n = strlen(name);
+                               int x = strlen("Wacom Co.,Ltd. ");
+                               memmove(name, name+x, n-x+1);
+                       }
+                       if (strstr(name, "Wacom Co., Ltd. Wacom ") == name) {
+                               int n = strlen(name);
+                               int x = strlen("Wacom Co., Ltd. ");
+                               memmove(name, name+x, n-x+1);
+                       }
+
                        /* get rid of trailing whitespace */
                        if (name[strlen(name)-1] == ' ')
                                name[strlen(name)-1] = '\0';