X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=extras%2Fusb_id%2Fusb_id.c;h=28352eb08a239d9c36e812b893b10ce2c9c12626;hp=00d8a4c139e7353d37940ea092c3ec87c46fd602;hb=e6fa87a11f61548f5442ec3c76b44ce6b25184cc;hpb=24239ded2d7a152d1c428880ae2cf82d904a350d diff --git a/extras/usb_id/usb_id.c b/extras/usb_id/usb_id.c index 00d8a4c13..28352eb08 100644 --- a/extras/usb_id/usb_id.c +++ b/extras/usb_id/usb_id.c @@ -54,28 +54,40 @@ static void set_usb_iftype(char *to, int if_class_num, size_t len) case 1: type = "audio"; break; + case 2: /* CDC-Control */ + break; case 3: type = "hid"; break; + case 5: /* Physical */ + break; + case 6: + type = "image"; + break; case 7: type = "printer"; break; case 8: type = "storage"; break; - case 2: /* CDC-Control */ - case 5: /* Physical */ - case 6: /* Image */ - case 9: /* HUB */ + case 9: + type = "hub"; + break; case 0x0a: /* CDC-Data */ + break; case 0x0b: /* Chip/Smart Card */ + break; case 0x0d: /* Content Security */ + break; case 0x0e: type = "video"; break; case 0xdc: /* Diagnostic Device */ + break; case 0xe0: /* Wireless Controller */ - case 0xf2: /* Application-specific */ + break; + case 0xfe: /* Application-specific */ + break; case 0xff: /* Vendor-specific */ break; default: @@ -239,6 +251,7 @@ static int usb_id(struct udev_device *dev) goto fallback; } udev_util_replace_whitespace(scsi_vendor, vendor_str, sizeof(vendor_str)-1); + udev_util_replace_chars(vendor_str, NULL); scsi_model = udev_device_get_sysattr_value(dev_scsi, "model"); if (!scsi_model) { @@ -247,6 +260,7 @@ static int usb_id(struct udev_device *dev) goto fallback; } udev_util_replace_whitespace(scsi_model, model_str, sizeof(model_str)-1); + udev_util_replace_chars(model_str, NULL); scsi_type = udev_device_get_sysattr_value(dev_scsi, "type"); if (!scsi_type) { @@ -263,6 +277,7 @@ static int usb_id(struct udev_device *dev) goto fallback; } udev_util_replace_whitespace(scsi_rev, revision_str, sizeof(revision_str)-1); + udev_util_replace_chars(revision_str, NULL); /* * some broken devices have the same identifiers @@ -287,6 +302,7 @@ fallback: return 1; } udev_util_replace_whitespace(usb_vendor, vendor_str, sizeof(vendor_str)-1); + udev_util_replace_chars(vendor_str, NULL); } if (model_str[0] == '\0') { @@ -303,22 +319,27 @@ fallback: return 1; } udev_util_replace_whitespace(usb_model, model_str, sizeof(model_str)-1); + udev_util_replace_chars(model_str, NULL); } if (revision_str[0] == '\0') { const char *usb_rev; usb_rev = udev_device_get_sysattr_value(dev_usb, "bcdDevice"); - if (usb_rev) + if (usb_rev) { udev_util_replace_whitespace(usb_rev, revision_str, sizeof(revision_str)-1); + udev_util_replace_chars(revision_str, NULL); + } } if (serial_str[0] == '\0') { const char *usb_serial; usb_serial = udev_device_get_sysattr_value(dev_usb, "serial"); - if (usb_serial) + if (usb_serial) { udev_util_replace_whitespace(usb_serial, serial_str, sizeof(serial_str)-1); + udev_util_replace_chars(serial_str, NULL); + } } return 0; }