X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fenv-util.c;h=9a833d22e4d176208088e73ff9aeba2d10e4c18e;hp=7a213a77c0ea8ea9261045c65e6f015960a20040;hb=123b964a537c21e9ebaf849acefb23f0f13db785;hpb=abb381b3b3a169a0cd6015c02f21f6032a78a873 diff --git a/src/shared/env-util.c b/src/shared/env-util.c index 7a213a77c..9a833d22e 100644 --- a/src/shared/env-util.c +++ b/src/shared/env-util.c @@ -135,6 +135,21 @@ bool strv_env_is_valid(char **e) { return true; } +bool strv_env_name_or_assignment_is_valid(char **l) { + char **p, **q; + + STRV_FOREACH(p, l) { + if (!env_assignment_is_valid(*p) && !env_name_is_valid(*p)) + return false; + + STRV_FOREACH(q, p + 1) + if (streq(*p, *q)) + return false; + } + + return true; +} + static int env_append(char **r, char ***k, char **a) { assert(r); assert(k);