X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=namedev_parse.c;h=4afa85cfa991a6dbbb03469f1dd4ce16f06d4ba4;hb=d4a32aa2e4804de9189574213749616dda57faa7;hp=73828a83b2f864d436c222d1085779db74bacd78;hpb=af4b05d4917fdfa55eff3d8d53a830464d8162a1;p=elogind.git diff --git a/namedev_parse.c b/namedev_parse.c index 73828a83b..4afa85cfa 100644 --- a/namedev_parse.c +++ b/namedev_parse.c @@ -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);