-/*-*- Mode: C; c-basic-offset: 8 -*-*/
+/*-*- Mode: C; c-basic-offset: 8; indent-tabs-mode: nil -*-*/
#ifndef foostrvhfoo
#define foostrvhfoo
#include "macro.h"
char *strv_find(char **l, const char *name);
+char *strv_find_prefix(char **l, const char *name);
+
void strv_free(char **l);
char **strv_copy(char **l) _malloc_;
unsigned strv_length(char **l);
char *strv_join(char **l, const char *separator) _malloc_;
-char **strv_env_merge(char **x, ...) _sentinel_;
-char **strv_env_delete(char **x, ...) _sentinel_;
+char **strv_env_merge(unsigned n_lists, ...);
+char **strv_env_delete(char **x, unsigned n_lists, ...);
+
+char **strv_env_set(char **x, const char *p);
+char **strv_env_unset(char **l, const char *p);
+
+char *strv_env_get_with_length(char **l, const char *name, size_t k);
+char *strv_env_get(char **x, const char *n);
+
+char **strv_env_clean(char **l);
+
+char **strv_parse_nulstr(const char *s, size_t l);
#define STRV_FOREACH(s, l) \
for ((s) = (l); (s) && *(s); (s)++)