On Wed, 11.12.13 14:24, Maciej Wereski ([email protected]) wrote:

> >>+        xattr = new0(char, strlen(i->argument)+1);
> >>+        if (!xattr)
> >>+                return log_oom();
> >>+
> >>+        tmp = strv_split(i->argument, WHITESPACE);
> >>+        if (!tmp)
> >>+                return log_oom();
> >>+
> >>+        strv_len = strv_length(tmp);
> >>+        for (n = 0; n < strv_len; ++n) {
> >
> >Sounds like a job for the STRV_FOREACH() macro. Since you don't actually
> >need the strv as strv here it sounds like you actually really want to
> >use FOREACH_WORD_QUOTED() for this, which will also do the unquoting for
> >you.
> 
> Well, FOREACH_WORD_QUOTED() won't work properly, because quotation marks
> aren't first chars in strings (e.g. user.name="John Smith"). Maybe better
> idea would be to introduce mandatory separator (e.g. semicolon) instead of
> quotation marks.

Yeah, FOREACH_WORD_QUOTED() is quite badly designed. We should fix it to
do somewhat sane quoting and escaping. I'll look into it.

Lennart

-- 
Lennart Poettering, Red Hat
_______________________________________________
systemd-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to