[systemd-devel] [PATCHv5] tmpfiles, man: Add xattr support to tmpfiles

Lennart Poettering lennart at poettering.net
Wed Dec 11 06:15:59 PST 2013


On Wed, 11.12.13 14:24, Maciej Wereski (m.wereski at partner.samsung.com) 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


More information about the systemd-devel mailing list