mirror of
https://github.com/systemd/systemd.git
synced 2024-11-02 19:21:53 +03:00
udev: when complaining about invalid characters, print them out
systemd-udevd[6260]: invalid key/value pair in file /usr/lib/udev/rules.d/60-ffado.rules on line 46,starting at character 84 ('#')
This commit is contained in:
parent
091526ab20
commit
1291bc895b
@ -34,6 +34,7 @@
|
|||||||
#include "conf-files.h"
|
#include "conf-files.h"
|
||||||
#include "strbuf.h"
|
#include "strbuf.h"
|
||||||
#include "strv.h"
|
#include "strv.h"
|
||||||
|
#include "util.h"
|
||||||
|
|
||||||
#define PREALLOC_TOKEN 2048
|
#define PREALLOC_TOKEN 2048
|
||||||
|
|
||||||
@ -1069,10 +1070,17 @@ static int add_rule(struct udev_rules *rules, char *line,
|
|||||||
if (get_key(rules->udev, &linepos, &key, &op, &value) != 0) {
|
if (get_key(rules->udev, &linepos, &key, &op, &value) != 0) {
|
||||||
/* If we aren't at the end of the line, this is a parsing error.
|
/* If we aren't at the end of the line, this is a parsing error.
|
||||||
* Make a best effort to describe where the problem is. */
|
* Make a best effort to describe where the problem is. */
|
||||||
if (*linepos != '\n')
|
if (*linepos != '\n') {
|
||||||
|
char buf[2] = {linepos[1]};
|
||||||
|
_cleanup_free_ char *tmp;
|
||||||
|
|
||||||
|
tmp = cescape(buf);
|
||||||
log_error("invalid key/value pair in file %s on line %u,"
|
log_error("invalid key/value pair in file %s on line %u,"
|
||||||
"starting at character %lu\n",
|
"starting at character %lu ('%s')\n",
|
||||||
filename, lineno, linepos - line + 1);
|
filename, lineno, linepos - line + 1, tmp);
|
||||||
|
if (linepos[1] == '#')
|
||||||
|
log_info("hint: comments can only start at beginning of line");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user