X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Fenv-util.h;h=fb3a52b707028a49be3c19239f006fd2e3e37d45;hb=3da7a50f847ce5ea6094927cb51bab7eb1818efd;hp=93bf596ca889a1c45a972e71f09e59df7bc64dba;hpb=4d1a69043862ed979642f5688097160355d4cc81;p=elogind.git diff --git a/src/shared/env-util.h b/src/shared/env-util.h index 93bf596ca..fb3a52b70 100644 --- a/src/shared/env-util.h +++ b/src/shared/env-util.h @@ -29,13 +29,17 @@ bool env_value_is_valid(const char *e); bool env_assignment_is_valid(const char *e); bool strv_env_is_valid(char **e); -char **strv_env_clean(char **l); +#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_or_assignment_is_valid(char **l); char **strv_env_merge(unsigned n_lists, ...); char **strv_env_delete(char **x, unsigned n_lists, ...); /* New copy */ char **strv_env_set(char **x, const char *p); /* New copy ... */ char **strv_env_unset(char **l, const char *p); /* In place ... */ +char **strv_env_unset_many(char **l, ...) _sentinel_; -char *strv_env_get_n(char **l, const char *name, size_t k); -char *strv_env_get(char **x, const char *n); +char *strv_env_get_n(char **l, const char *name, size_t k) _pure_; +char *strv_env_get(char **x, const char *n) _pure_;