From: Scott James Remnant Date: Thu, 14 May 2009 11:42:44 +0000 (+0100) Subject: OWNER/GROUP: fix if logic X-Git-Tag: 174~1043 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=055e40edc647d8ccfc27c9cd3163ab5dbf63ed6c OWNER/GROUP: fix if logic The introduction of the --resolve-names=early/never code introduced a bug to the OWNER/GROUP lookup. Previously if the name had contained $, lookup would have been performed later; after the patch, the key ended up being ignored! --- diff --git a/udev/udev-rules.c b/udev/udev-rules.c index b8b7e52c8..39fe55aac 100644 --- a/udev/udev-rules.c +++ b/udev/udev-rules.c @@ -1431,7 +1431,7 @@ static int add_rule(struct udev_rules *rules, char *line, } else if ((rules->resolve_names > 0) && strchr("$%", value[0]) == NULL) { uid = add_uid(rules, value); rule_add_key(&rule_tmp, TK_A_OWNER_ID, op, NULL, &uid); - } else if (rules->resolve_names == 0) { + } else if (rules->resolve_names >= 0) { rule_add_key(&rule_tmp, TK_A_OWNER, op, value, NULL); } rule_tmp.rule.rule.flags = 1; @@ -1448,7 +1448,7 @@ static int add_rule(struct udev_rules *rules, char *line, } else if ((rules->resolve_names > 0) && strchr("$%", value[0]) == NULL) { gid = add_gid(rules, value); rule_add_key(&rule_tmp, TK_A_GROUP_ID, op, NULL, &gid); - } else if (rules->resolve_names == 0) { + } else if (rules->resolve_names >= 0) { rule_add_key(&rule_tmp, TK_A_GROUP, op, value, NULL); } rule_tmp.rule.rule.flags = 1;