- /* eat the whitespace at the beginning of the line */
- while (isspace(*temp))
- ++temp;
-
- /* empty line? */
- if ((*temp == '\0') || (*temp == '\n'))
- continue;
-
- /* see if this is a comment */
- if (*temp == COMMENT_CHARACTER)
- continue;
-
- memset(&dev, 0x00, sizeof(dev));
-
- /* parse the line */
- temp2 = strsep(&temp, ":");
- if (!temp2) {
- dbg("cannot parse line '%s'", line);
- continue;
- }
- strncpy(dev.name, temp2, sizeof(dev.name));
-
- temp2 = strsep(&temp, ":");
- if (!temp2) {
- dbg("cannot parse line '%s'", line);
- continue;
- }
- strncpy(dev.owner, temp2, sizeof(dev.owner));
+ if ((stats.st_mode & S_IFMT) != S_IFDIR)
+ retval = namedev_parse(NULL, udev_rules_filename);
+ else
+ retval = call_foreach_file(namedev_parse, NULL, udev_rules_filename, RULEFILE_SUFFIX);