diff options
author | Lennart Poettering <lennart@poettering.net> | 2015-11-11 18:46:15 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2015-11-11 18:46:15 +0100 |
commit | a1350640ba605cf5876b25abfee886488a33e50b (patch) | |
tree | c0e4c0d255fe99cf7d79e1cde128915de986db3d /src/basic | |
parent | 3116c225d2e3c0d8e6b3f4d4a9b48443cc7baf2d (diff) | |
parent | e1abca2ee42e5938ee1f2542c3eba9e70edb0be2 (diff) |
Merge pull request #1852 from filbranden/passenv6
execute: Add new PassEnvironment= directive (v4)
Diffstat (limited to 'src/basic')
-rw-r--r-- | src/basic/env-util.c | 15 | ||||
-rw-r--r-- | src/basic/env-util.h | 1 |
2 files changed, 16 insertions, 0 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c index 9ddac5d6a1..441169db31 100644 --- a/src/basic/env-util.c +++ b/src/basic/env-util.c @@ -138,6 +138,21 @@ bool strv_env_is_valid(char **e) { return true; } +bool strv_env_name_is_valid(char **l) { + char **p, **q; + + STRV_FOREACH(p, l) { + if (!env_name_is_valid(*p)) + return false; + + STRV_FOREACH(q, p + 1) + if (streq(*p, *q)) + return false; + } + + return true; +} + bool strv_env_name_or_assignment_is_valid(char **l) { char **p, **q; diff --git a/src/basic/env-util.h b/src/basic/env-util.h index 6485dade18..5efffa3dc7 100644 --- a/src/basic/env-util.h +++ b/src/basic/env-util.h @@ -36,6 +36,7 @@ bool strv_env_is_valid(char **e); #define strv_env_clean(l) strv_env_clean_with_callback(l, NULL, NULL) char **strv_env_clean_with_callback(char **l, void (*invalid_callback)(const char *p, void *userdata), void *userdata); +bool strv_env_name_is_valid(char **l); bool strv_env_name_or_assignment_is_valid(char **l); char **strv_env_merge(unsigned n_lists, ...); |