udev_rules_parse_file: issue diagnostics about line continuation at EOF

When udev rules file ends with a line continuation, the parser
used to silently ignore the line without any diagnostics at all.
It's time to break the vow of silence and let the parser issue some
error diagnostics.
This commit is contained in:
Dmitry V. Levin
2023-03-08 18:55:40 +00:00
parent 5040401b43
commit b27e5e2aca
2 changed files with 15 additions and 2 deletions
+10 -2
View File
@@ -40,10 +40,18 @@ printf 'RUN+="/bin/true"%8175s\\\n' ' ' ' ' >sample.rules
echo >>sample.rules
udevadm verify sample.rules
printf 'RUN+="/bin/true"%8176s\\\n' ' ' ' ' >sample.rules
printf 'RUN+="/bin/true"%8176s\\\n #\n' ' ' ' ' >sample.rules
echo >>sample.rules
cat >exp <<'EOF'
sample.rules:3 Line is too long, ignored
sample.rules:5 Line is too long, ignored
sample.rules: udev rules check failed
EOF
(! udevadm verify sample.rules 2>err)
diff exp err
printf '\\\n' >sample.rules
cat >exp <<'EOF'
sample.rules:1 Unexpected EOF after line continuation, line ignored
sample.rules: udev rules check failed
EOF
(! udevadm verify sample.rules 2>err)