chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
udevtest: allow /sys in the devpath paramter
[elogind.git]
/
udev_rules_parse.c
diff --git
a/udev_rules_parse.c
b/udev_rules_parse.c
index 271de6f87968c4d8aa897e592248a9d6cf830944..8d69e74864310e5f584f2d490402b914aeb92dd2 100644
(file)
--- a/
udev_rules_parse.c
+++ b/
udev_rules_parse.c
@@
-543,7
+543,7
@@
static int add_to_rules(struct udev_rules *rules, char *line, const char *filena
continue;
}
continue;
}
- err("unknown key '%s'
", key
);
+ err("unknown key '%s'
in %s:%u", key, filename, lineno
);
}
/* skip line if not any valid key was found */
}
/* skip line if not any valid key was found */
@@
-603,11
+603,6
@@
static int parse_file(struct udev_rules *rules, const char *filename)
cur += count+1;
lineno++;
cur += count+1;
lineno++;
- if (count >= sizeof(line)) {
- err("line too long, rule skipped '%s:%u'", filename, lineno);
- continue;
- }
-
/* eat the whitespace */
while ((count > 0) && isspace(bufline[0])) {
bufline++;
/* eat the whitespace */
while ((count > 0) && isspace(bufline[0])) {
bufline++;
@@
-620,7
+615,12
@@
static int parse_file(struct udev_rules *rules, const char *filename)
if (bufline[0] == COMMENT_CHARACTER)
continue;
if (bufline[0] == COMMENT_CHARACTER)
continue;
- /* skip backslash and newline from multi line rules */
+ if (count >= sizeof(line)) {
+ err("line too long, rule skipped '%s:%u'", filename, lineno);
+ continue;
+ }
+
+ /* skip backslash and newline from multiline rules */
for (i = j = 0; i < count; i++) {
if (bufline[i] == '\\' && bufline[i+1] == '\n')
continue;
for (i = j = 0; i < count; i++) {
if (bufline[i] == '\\' && bufline[i+1] == '\n')
continue;