X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fshared%2Fenv-util.h;h=9de3621714789892b435df2fde1fb9bdcc3b5a0b;hp=9449576b5c82ed9f1b69976d90162c91d2a299b0;hb=01c94c5d0aff09b4c0e429d483c8eeba40017071;hpb=123b964a537c21e9ebaf849acefb23f0f13db785 diff --git a/src/shared/env-util.h b/src/shared/env-util.h index 9449576b5..9de362171 100644 --- a/src/shared/env-util.h +++ b/src/shared/env-util.h @@ -22,14 +22,16 @@ ***/ #include -#include + +#include "macro.h" bool env_name_is_valid(const char *e); 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); @@ -38,6 +40,7 @@ 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_;