chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rules: Gentoo update
[elogind.git]
/
udev_rules_parse.c
diff --git
a/udev_rules_parse.c
b/udev_rules_parse.c
index 124410a3402d8b7a36f9c4b5ed9274529f9ceb2b..3afc31a0fad8b7cb35d4a11ea9dc74da61fc4f46 100644
(file)
--- a/
udev_rules_parse.c
+++ b/
udev_rules_parse.c
@@
-525,7
+525,11
@@
static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
}
if (strcasecmp(key, "SYMLINK") == 0) {
}
if (strcasecmp(key, "SYMLINK") == 0) {
- add_rule_key(rule, &rule->symlink, operation, value);
+ if (operation == KEY_OP_MATCH ||
+ operation == KEY_OP_NOMATCH)
+ add_rule_key(rule, &rule->symlink_match, operation, value);
+ else
+ add_rule_key(rule, &rule->symlink, operation, value);
valid = 1;
continue;
}
valid = 1;
continue;
}
@@
-753,11
+757,10
@@
int udev_rules_init(struct udev_rules *rules, int resolve_names)
if (name_base == NULL)
continue;
if (name_base == NULL)
continue;
- if (strcmp(name_base, dyn_base) > 0) {
- list_move_tail(&dyn_loop->node, &name_loop->node);
+ if (strcmp(name_base, dyn_base) > 0)
break;
break;
- }
}
}
+ list_move_tail(&dyn_loop->node, &name_loop->node);
}
/* parse list of files */
}
/* parse list of files */
@@
-783,3
+786,4
@@
void udev_rules_cleanup(struct udev_rules *rules)
rules->buf = NULL;
}
}
rules->buf = NULL;
}
}
+