util: rework word parsing and c unescaping code

When parsing words from input files, optionally automatically unescape
the passed strings, controllable via a new flags parameter.

Make use of this in tmpfiles, and port everything else over, too.

This improves parsing quite a bit, since we no longer have to process the
same string multiple times with different calls, where an earlier call
might corrupt the input for a later call.
This commit is contained in:
Lennart Poettering
2015-03-26 11:56:22 +01:00
parent be3ce3014e
commit 4034a06ddb
11 changed files with 250 additions and 175 deletions
+1 -1
View File
@@ -1384,7 +1384,7 @@ static int parse_line(const char *fname, unsigned line, const char *buffer) {
/* Parse columns */
p = buffer;
r = unquote_many_words(&p, &action, &name, &id, &description, &home, NULL);
r = unquote_many_words(&p, 0, &action, &name, &id, &description, &home, NULL);
if (r < 0) {
log_error("[%s:%u] Syntax error.", fname, line);
return r;