X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fstrv.c;h=7401c29081b5d98c9ce2bb002ea5ded2821bc360;hp=d4a1b80d073c4a3fac5e8c83359ee9a7dbe171b6;hb=eaca07ccfdf5d7dabc50afc7e539c2413dd69d3e;hpb=b96ed50e3493103d075ff2ce4c3fbad8f26b2e22 diff --git a/src/basic/strv.c b/src/basic/strv.c index d4a1b80d0..7401c2908 100644 --- a/src/basic/strv.c +++ b/src/basic/strv.c @@ -19,13 +19,16 @@ along with systemd; If not, see . ***/ -#include +#include #include +#include #include -#include -#include "util.h" +#include "alloc-util.h" +#include "escape.h" +#include "string-util.h" #include "strv.h" +#include "util.h" char *strv_find(char **l, const char *name) { char **i; @@ -86,6 +89,15 @@ char **strv_free(char **l) { return NULL; } +char **strv_free_erase(char **l) { + char **i; + + STRV_FOREACH(i, l) + string_erase(*i); + + return strv_free(l); +} + char **strv_copy(char * const *l) { char **r, **k; @@ -664,6 +676,8 @@ char **strv_split_nulstr(const char *s) { return r; } +/// UNNEEDED by elogind +#if 0 int strv_make_nulstr(char **l, char **p, size_t *q) { size_t n_allocated = 0, n = 0; _cleanup_free_ char *m = NULL; @@ -699,8 +713,6 @@ int strv_make_nulstr(char **l, char **p, size_t *q) { return 0; } -/// UNNEEDED by elogind -#if 0 bool strv_overlap(char **a, char **b) { char **i; @@ -710,6 +722,7 @@ bool strv_overlap(char **a, char **b) { return false; } +#endif // 0 static int str_compare(const void *_a, const void *_b) { const char **a = (const char**) _a, **b = (const char**) _b; @@ -726,6 +739,8 @@ char **strv_sort(char **l) { return l; } +/// UNNEEDED by elogind +#if 0 bool strv_equal(char **a, char **b) { if (strv_isempty(a)) @@ -800,7 +815,6 @@ char **strv_shell_escape(char **l, const char *bad) { return l; } -#endif // 0 bool strv_fnmatch(char* const* patterns, const char *s, int flags) { char* const* p; @@ -874,3 +888,4 @@ rollback: nl[k] = NULL; return -ENOMEM; } +#endif // 0