chiark / gitweb /
[PATCH] remove historical SYSFS_attr="value" format
[elogind.git] / namedev_parse.c
index 73828a83b2f864d436c222d1085779db74bacd78..4afa85cfa991a6dbbb03469f1dd4ce16f06d4ba4 100644 (file)
@@ -113,7 +113,7 @@ void dump_perm_dev_list(void)
                dump_perm_dev(dev);
 }
 
-/* extract possible KEY{attr} or KEY_attr */
+/* extract possible KEY{attr} */
 static char *get_key_attribute(char *str)
 {
        char *pos;
@@ -132,13 +132,6 @@ static char *get_key_attribute(char *str)
                return attr;
        }
 
-       attr = strchr(str, '_');
-       if (attr != NULL) {
-               attr++;
-               dbg("attribute='%s'", attr);
-               return attr;
-       }
-
        return NULL;
 }
 
@@ -258,6 +251,18 @@ static int namedev_parse_rules(const char *filename, void *data)
                                continue;
                        }
 
+                       if (strcasecmp(temp2, FIELD_SUBSYSTEM) == 0) {
+                               strfieldcpy(dev.subsystem, temp3);
+                               valid = 1;
+                               continue;
+                       }
+
+                       if (strcasecmp(temp2, FIELD_DRIVER) == 0) {
+                               strfieldcpy(dev.driver, temp3);
+                               valid = 1;
+                               continue;
+                       }
+
                        if (strcasecmp(temp2, FIELD_PROGRAM) == 0) {
                                program_given = 1;
                                strfieldcpy(dev.program, temp3);