diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-06-14 17:44:53 +0200 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-06-16 10:13:01 +0200 |
commit | c60d32aa37fc0b10451b0d392d90b3b96eb88ebc (patch) | |
tree | 8feceb57b0b0ebbabc22faa105f1608a1ec8a117 /src/basic/hashmap.c | |
parent | 33863e9c1572a093818e4559e69ca02452b60d5c (diff) |
Prep v231: Apply missing fixes from upstream (1/6) src/basic
Diffstat (limited to 'src/basic/hashmap.c')
-rw-r--r-- | src/basic/hashmap.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/basic/hashmap.c b/src/basic/hashmap.c index c89630f04..250fed534 100644 --- a/src/basic/hashmap.c +++ b/src/basic/hashmap.c @@ -1768,6 +1768,9 @@ void *ordered_hashmap_next(OrderedHashmap *h, const void *key) { int set_consume(Set *s, void *value) { int r; + assert(s); + assert(value); + r = set_put(s, value); if (r <= 0) free(value); @@ -1796,6 +1799,8 @@ int set_put_strdupv(Set *s, char **l) { int n = 0, r; char **i; + assert(s); + STRV_FOREACH(i, l) { r = set_put_strdup(s, *i); if (r < 0) @@ -1806,4 +1811,24 @@ int set_put_strdupv(Set *s, char **l) { return n; } + +int set_put_strsplit(Set *s, const char *v, const char *separators, ExtractFlags flags) { + const char *p = v; + int r; + + assert(s); + assert(v); + + for (;;) { + char *word; + + r = extract_first_word(&p, &word, separators, flags); + if (r <= 0) + return r; + + r = set_consume(s, word); + if (r < 0) + return r; + } +} #endif // 0 |