X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=namedev_parse.c;h=5cb3a3eb1d3c04cedce3ac997361214534b487ec;hp=a752b33050cb5b939ceba85cba674ea3cdb703ea;hb=61219c756ad0ad622decaf81b92a558ba2a1bc59;hpb=19feb35100f602d2e9e4148d9e22548dae5a01d3 diff --git a/namedev_parse.c b/namedev_parse.c index a752b3305..5cb3a3eb1 100644 --- a/namedev_parse.c +++ b/namedev_parse.c @@ -36,7 +36,7 @@ #include "udev.h" #include "namedev.h" -static int get_pair(char **orig_string, char **left, char **right) +int get_pair(char **orig_string, char **left, char **right) { char *temp; char *string = *orig_string; @@ -88,39 +88,27 @@ void dump_config_dev(struct config_device *dev) { switch (dev->type) { case KERNEL_NAME: - dbg_parse("KERNEL name='%s' ," - "owner='%s', group='%s', mode=%#o", - dev->name, dev->owner, dev->group, dev->mode); + dbg_parse("KERNEL name='%s'", dev->name); break; case LABEL: - dbg_parse("LABEL name='%s', bus='%s', sysfs_file='%s', sysfs_value='%s', " - "owner='%s', group='%s', mode=%#o", - dev->name, dev->bus, dev->sysfs_file, dev->sysfs_value, - dev->owner, dev->group, dev->mode); + dbg_parse("LABEL name='%s', bus='%s', sysfs_file='%s', sysfs_value='%s'", + dev->name, dev->bus, dev->sysfs_file, dev->sysfs_value); break; case NUMBER: - dbg_parse("NUMBER name='%s', bus='%s', id='%s', " - "owner='%s', group='%s', mode=%#o", - dev->name, dev->bus, dev->id, - dev->owner, dev->group, dev->mode); + dbg_parse("NUMBER name='%s', bus='%s', id='%s'", + dev->name, dev->bus, dev->id); break; case TOPOLOGY: - dbg_parse("TOPOLOGY name='%s', bus='%s', place='%s', " - "owner='%s', group='%s', mode=%#o", - dev->name, dev->bus, dev->place, - dev->owner, dev->group, dev->mode); + dbg_parse("TOPOLOGY name='%s', bus='%s', place='%s'", + dev->name, dev->bus, dev->place); break; case REPLACE: - dbg_parse("REPLACE name=%s, kernel_name=%s, " - "owner='%s', group='%s', mode=%#o", - dev->name, dev->kernel_name, - dev->owner, dev->group, dev->mode); + 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', " - "owner='%s', group='%s', mode=%#o", - dev->name, dev->bus, dev->exec_program, dev->id, - dev->owner, dev->group, dev->mode); + dbg_parse("CALLOUT name='%s', bus='%s', program='%s', id='%s'", + dev->name, dev->bus, dev->exec_program, dev->id); break; default: dbg_parse("unknown type of method"); @@ -136,8 +124,25 @@ void dump_config_dev_list(void) dump_config_dev(dev); } } - -int namedev_init_config(void) + +void dump_perm_dev(struct perm_device *dev) +{ + dbg_parse("name='%s', owner='%s', group='%s', mode=%#o", + dev->name, dev->owner, dev->group, dev->mode); +} + +void dump_perm_dev_list(void) +{ + struct list_head *tmp; + + list_for_each(tmp, &perm_device_list) { + struct perm_device *dev = list_entry(tmp, struct perm_device, node); + dump_perm_dev(dev); + } +} + + +int namedev_init_rules(void) { char line[255]; int lineno; @@ -148,10 +153,11 @@ int namedev_init_config(void) int retval = 0; struct config_device dev; - dbg("opening '%s' to read as config", udev_config_filename); - fd = fopen(udev_config_filename, "r"); - if (fd == NULL) { - dbg("can't open '%s'", udev_config_filename); + fd = fopen(udev_rules_filename, "r"); + if (fd != NULL) { + dbg("reading '%s' as rules file", udev_rules_filename); + } else { + dbg("can't open '%s' as a rules file", udev_rules_filename); return -ENODEV; } @@ -328,7 +334,7 @@ int namedev_init_config(void) goto exit; } } - dbg_parse("%s:%d:%Zd: error parsing '%s'", udev_config_filename, + dbg_parse("%s:%d:%Zd: error parsing '%s'", udev_rules_filename, lineno, temp - line, temp); exit: fclose(fd); @@ -343,12 +349,13 @@ int namedev_init_permissions(void) char *temp2; FILE *fd; int retval = 0; - struct config_device dev; + struct perm_device dev; - dbg("opening '%s' to read as permissions config", udev_config_permission_filename); - fd = fopen(udev_config_permission_filename, "r"); - if (fd == NULL) { - dbg("can't open '%s'", udev_config_permission_filename); + fd = fopen(udev_permissions_filename, "r"); + if (fd != NULL) { + dbg("reading '%s' as permissions file", udev_permissions_filename); + } else { + dbg("can't open '%s' as permissions file", udev_permissions_filename); return -ENODEV; } @@ -405,7 +412,7 @@ int namedev_init_permissions(void) dbg_parse("name='%s', owner='%s', group='%s', mode=%#o", dev.name, dev.owner, dev.group, dev.mode); - retval = add_config_dev(&dev); + retval = add_perm_dev(&dev); if (retval) { dbg("add_config_dev returned with error %d", retval); goto exit;