assert(l);
l = strstrip(l);
-
if (!*l)
return 0;
for (;;) {
_cleanup_free_ char *buf = NULL;
- char *l, *p, *c = NULL, *e;
bool escaped = false;
+ char *l, *p, *e;
r = read_line(f, LONG_LINE_MAX, &buf);
if (r == 0)
return -ENOBUFS;
}
- c = strappend(continuation, l);
- if (!c) {
+ if (!strextend(&continuation, l, NULL)) {
if (warn)
log_oom();
return -ENOMEM;
}
- continuation = mfree(continuation);
- p = c;
+ p = continuation;
} else
p = l;
if (escaped) {
*(e-1) = ' ';
- if (c)
- continuation = c;
- else {
+ if (!continuation) {
continuation = strdup(l);
if (!continuation) {
if (warn)
§ion_ignored,
p,
userdata);
- free(c);
-
if (r < 0) {
if (warn)
log_warning_errno(r, "%s:%u: Failed to parse file: %m", filename, line);
return r;
+
}
+
+ continuation = mfree(continuation);
}
return 0;