chiark / gitweb /
rule_generator: fix enumeration for write_cd_rules
[elogind.git] / extras / usb_id / usb_id.c
index 6dd1d450fb7a4aa366f5eb616a5b97978c0a911d..492484da39ca3740d454b27230076aa9ec8be327 100644 (file)
@@ -64,16 +64,28 @@ static void set_usb_iftype(char *to, int if_class_num, size_t len)
                type = "storage";
                break;
        case 2: /* CDC-Control */
+               break;
        case 5: /* Physical */
+               break;
        case 6: /* Image */
+               break;
        case 9: /* HUB */
+               break;
        case 0x0a: /* CDC-Data */
+               break;
        case 0x0b: /* Chip/Smart Card */
+               break;
        case 0x0d: /* Content Security */
-       case 0x0e: /* Video */
+               break;
+       case 0x0e:
+               type = "video";
+               break;
        case 0xdc: /* Diagnostic Device */
+               break;
        case 0xe0: /* Wireless Controller */
+               break;
        case 0xf2: /* Application-specific */
+               break;
        case 0xff: /* Vendor-specific */
                break;
        default:
@@ -237,6 +249,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) {
@@ -245,6 +258,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) {
@@ -261,6 +275,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
@@ -285,6 +300,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') {
@@ -301,22 +317,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;
 }