chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
don not print error if GOTO jumps just to next rule
[elogind.git]
/
udev
/
udev_rules_parse.c
diff --git
a/udev/udev_rules_parse.c
b/udev/udev_rules_parse.c
index 5a9552ffde9202af968434de95ace4d984ae6d6d..c42bd08c51f1d2490da2f5fce7a126976a57c58a 100644
(file)
--- a/
udev/udev_rules_parse.c
+++ b/
udev/udev_rules_parse.c
@@
-79,8
+79,8
@@
static size_t find_label(const struct udev_rules_iter *iter, const char *label)
next:
dbg(rules->udev, "current=%zi\n", current);
if (current >= rules->bufsize) {
next:
dbg(rules->udev, "current=%zi\n", current);
if (current >= rules->bufsize) {
-
err(rules->udev, "LABEL='%s' not found, GOTO will be ignore
d\n", label);
- return
iter->current
;
+
dbg(rules->udev, "LABEL='%s' not foun
d\n", label);
+ return
0
;
}
rule = (struct udev_rule *) (rules->buf + current);
}
rule = (struct udev_rule *) (rules->buf + current);
@@
-747,9
+747,10
@@
static int parse_file(struct udev_rules *rules, const char *filename)
dbg(rules->udev, "resolving goto label '%s'\n", goto_label);
rule->goto_rule_off = find_label(&iter, goto_label);
dbg(rules->udev, "resolving goto label '%s'\n", goto_label);
rule->goto_rule_off = find_label(&iter, goto_label);
- if (rule->goto_rule_off ==
iter.current
) {
- err(rules->udev, "
go
to nonexistent label '%s' in '%s'\n",
+ if (rule->goto_rule_off ==
0
) {
+ err(rules->udev, "
ignore goto
to nonexistent label '%s' in '%s'\n",
goto_label, filename);
goto_label, filename);
+ rule->goto_rule_off = iter.current;
}
}
}
}
}
}