X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=namedev_parse.c;h=5b5a5b3bc10a8b94b357a90ed15bc543c2943ac1;hp=266fa35a1945939ab5f384d70980dfcd3b2c089e;hb=f1db055ab2e349ce22254562faaece66d6a4a873;hpb=a8b01705c6204c660062cb6abc8fe7dbb8a42197 diff --git a/namedev_parse.c b/namedev_parse.c index 266fa35a1..5b5a5b3bc 100644 --- a/namedev_parse.c +++ b/namedev_parse.c @@ -103,13 +103,17 @@ void dump_config_dev(struct config_device *dev) dev->name, dev->bus, dev->place); break; case REPLACE: - dbg_parse("REPLACE name=%s, kernel_name=%s", + dbg_parse("REPLACE name='%s', kernel_name='%s'", dev->name, dev->kernel_name); break; case CALLOUT: dbg_parse("CALLOUT name='%s', bus='%s', program='%s', id='%s'", dev->name, dev->bus, dev->exec_program, dev->id); break; + case IGNORE: + dbg_parse("IGNORE name='%s', kernel_name='%s'", + dev->name, dev->kernel_name); + break; default: dbg_parse("unknown type of method"); } @@ -117,12 +121,10 @@ void dump_config_dev(struct config_device *dev) void dump_config_dev_list(void) { - struct list_head *tmp; + struct config_device *dev; - list_for_each(tmp, &config_device_list) { - struct config_device *dev = list_entry(tmp, struct config_device, node); + list_for_each_entry(dev, &config_device_list, node) dump_config_dev(dev); - } } void dump_perm_dev(struct perm_device *dev) @@ -133,12 +135,10 @@ void dump_perm_dev(struct perm_device *dev) void dump_perm_dev_list(void) { - struct list_head *tmp; + struct perm_device *dev; - list_for_each(tmp, &perm_device_list) { - struct perm_device *dev = list_entry(tmp, struct perm_device, node); + list_for_each_entry(dev, &perm_device_list, node) dump_perm_dev(dev); - } } @@ -176,7 +176,7 @@ int namedev_init_rules(void) ++temp; /* empty line? */ - if (*temp == 0x00) + if ((*temp == '\0') || (*temp == '\n')) continue; /* see if this is a comment */ @@ -213,6 +213,11 @@ int namedev_init_rules(void) goto keys; } + if (strcasecmp(temp2, TYPE_IGNORE) == 0) { + dev.type = IGNORE; + goto keys; + } + dbg_parse("unknown type of method '%s'", temp2); goto error; keys: @@ -289,13 +294,12 @@ keys: dev.name, dev.bus, dev.sysfs_pair[0].file, dev.sysfs_pair[0].value, dev.symlink); if ((*dev.name == '\0') || - (*dev.bus == '\0') || (*dev.sysfs_pair[0].file == '\0') || (*dev.sysfs_pair[0].value == '\0')) goto error; break; case NUMBER: - dbg_parse(TYPE_NUMBER "name='%s', bus='%s', id='%s', symlink='%s'", + dbg_parse(TYPE_NUMBER " name='%s', bus='%s', id='%s', symlink='%s'", dev.name, dev.bus, dev.id, dev.symlink); if ((*dev.name == '\0') || (*dev.bus == '\0') || @@ -303,7 +307,7 @@ keys: goto error; break; case TOPOLOGY: - dbg_parse(TYPE_TOPOLOGY "name='%s', bus='%s', " + dbg_parse(TYPE_TOPOLOGY " name='%s', bus='%s', " "place='%s', symlink='%s'", dev.name, dev.bus, dev.place, dev.symlink); if ((*dev.name == '\0') || @@ -312,23 +316,28 @@ keys: goto error; break; case REPLACE: - dbg_parse(TYPE_REPLACE "name='%s', kernel_name='%s', symlink='%s'", + dbg_parse(TYPE_REPLACE " name='%s', kernel_name='%s', symlink='%s'", dev.name, dev.kernel_name, dev.symlink); if ((*dev.name == '\0') || (*dev.kernel_name == '\0')) goto error; break; case CALLOUT: - dbg_parse(TYPE_CALLOUT "name='%s', bus='%s', program='%s', " + dbg_parse(TYPE_CALLOUT " name='%s', bus='%s', program='%s', " "id='%s', symlink='%s'", dev.name, dev.bus, dev.exec_program, dev.id, dev.symlink); if ((*dev.name == '\0') || - (*dev.bus == '\0') || (*dev.id == '\0') || (*dev.exec_program == '\0')) goto error; break; + case IGNORE: + dbg_parse(TYPE_IGNORE "name='%s', kernel_name='%s'", + dev.name, dev.kernel_name); + if ((*dev.kernel_name == '\0')) + goto error; + break; default: dbg_parse("unknown type of method"); goto error; @@ -378,7 +387,7 @@ int namedev_init_permissions(void) ++temp; /* empty line? */ - if (*temp == 0x00) + if ((*temp == '\0') || (*temp == '\n')) continue; /* see if this is a comment */