diff options
author | Jason Gerecke <killertofu@gmail.com> | 2015-06-15 21:01:41 -0400 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2015-06-18 04:42:38 -0400 |
commit | 44b5250b97a0e5c3a257430ea28b10cf73899bd4 (patch) | |
tree | 9f22f0cb562c33a462c7af8326261a3af22f708f | |
parent | 05e8fd9202247ac6cdc26f6bafb5453120065490 (diff) |
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>
-rw-r--r-- | drivers/hid/wacom_sys.c | 25 |
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) | |||
1417 | { | 1417 | { |
1418 | struct wacom_wac *wacom_wac = &wacom->wacom_wac; | 1418 | struct wacom_wac *wacom_wac = &wacom->wacom_wac; |
1419 | struct wacom_features *features = &wacom_wac->features; | 1419 | struct wacom_features *features = &wacom_wac->features; |
1420 | char name[WACOM_NAME_MAX]; | ||
1420 | 1421 | ||
1421 | /* Generic devices name unspecified */ | 1422 | /* Generic devices name unspecified */ |
1422 | if ((features->type == HID_GENERIC) && !strcmp("Wacom HID", features->name)) { | 1423 | if ((features->type == HID_GENERIC) && !strcmp("Wacom HID", features->name)) { |
@@ -1424,41 +1425,43 @@ static void wacom_update_name(struct wacom *wacom) | |||
1424 | strstr(wacom->hdev->name, "wacom") || | 1425 | strstr(wacom->hdev->name, "wacom") || |
1425 | strstr(wacom->hdev->name, "WACOM")) { | 1426 | strstr(wacom->hdev->name, "WACOM")) { |
1426 | /* name is in HID descriptor, use it */ | 1427 | /* name is in HID descriptor, use it */ |
1427 | strlcpy(wacom_wac->name, wacom->hdev->name, | 1428 | strlcpy(name, wacom->hdev->name, sizeof(name)); |
1428 | sizeof(wacom_wac->name)); | ||
1429 | 1429 | ||
1430 | /* strip out excess whitespaces */ | 1430 | /* strip out excess whitespaces */ |
1431 | while (1) { | 1431 | while (1) { |
1432 | char *gap = strstr(wacom_wac->name, " "); | 1432 | char *gap = strstr(name, " "); |
1433 | if (gap == NULL) | 1433 | if (gap == NULL) |
1434 | break; | 1434 | break; |
1435 | /* shift everything including the terminator */ | 1435 | /* shift everything including the terminator */ |
1436 | memmove(gap, gap+1, strlen(gap)); | 1436 | memmove(gap, gap+1, strlen(gap)); |
1437 | } | 1437 | } |
1438 | /* get rid of trailing whitespace */ | 1438 | /* get rid of trailing whitespace */ |
1439 | if (wacom_wac->name[strlen(wacom_wac->name)-1] == ' ') | 1439 | if (name[strlen(name)-1] == ' ') |
1440 | wacom_wac->name[strlen(wacom_wac->name)-1] = '\0'; | 1440 | name[strlen(name)-1] = '\0'; |
1441 | } else { | 1441 | } else { |
1442 | /* no meaningful name retrieved. use product ID */ | 1442 | /* no meaningful name retrieved. use product ID */ |
1443 | snprintf(wacom_wac->name, sizeof(wacom_wac->name), | 1443 | snprintf(name, sizeof(name), |
1444 | "%s %X", features->name, wacom->hdev->product); | 1444 | "%s %X", features->name, wacom->hdev->product); |
1445 | } | 1445 | } |
1446 | } else { | 1446 | } else { |
1447 | strlcpy(wacom_wac->name, features->name, sizeof(wacom_wac->name)); | 1447 | strlcpy(name, features->name, sizeof(name)); |
1448 | } | 1448 | } |
1449 | 1449 | ||
1450 | /* Append the device type to the name */ | 1450 | /* Append the device type to the name */ |
1451 | snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name), | 1451 | snprintf(wacom_wac->pad_name, sizeof(wacom_wac->pad_name), |
1452 | "%s Pad", wacom_wac->name); | 1452 | "%s Pad", name); |
1453 | 1453 | ||
1454 | if (features->device_type == BTN_TOOL_PEN) { | 1454 | if (features->device_type == BTN_TOOL_PEN) { |
1455 | strlcat(wacom_wac->name, " Pen", WACOM_NAME_MAX); | 1455 | snprintf(wacom_wac->name, sizeof(wacom_wac->name), |
1456 | "%s Pen", name); | ||
1456 | } | 1457 | } |
1457 | else if (features->device_type == BTN_TOOL_FINGER) { | 1458 | else if (features->device_type == BTN_TOOL_FINGER) { |
1458 | if (features->touch_max) | 1459 | if (features->touch_max) |
1459 | strlcat(wacom_wac->name, " Finger", WACOM_NAME_MAX); | 1460 | snprintf(wacom_wac->name, sizeof(wacom_wac->name), |
1461 | "%s Finger", name); | ||
1460 | else | 1462 | else |
1461 | strlcat(wacom_wac->name, " Pad", WACOM_NAME_MAX); | 1463 | snprintf(wacom_wac->name, sizeof(wacom_wac->name), |
1464 | "%s Pad", name); | ||
1462 | } | 1465 | } |
1463 | } | 1466 | } |
1464 | 1467 | ||