summaryrefslogtreecommitdiff
path: root/src/basic/hashmap.c
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-06-14 17:44:53 +0200
committerSven Eden <yamakuzure@gmx.net>2017-06-16 10:13:01 +0200
commitc60d32aa37fc0b10451b0d392d90b3b96eb88ebc (patch)
tree8feceb57b0b0ebbabc22faa105f1608a1ec8a117 /src/basic/hashmap.c
parent33863e9c1572a093818e4559e69ca02452b60d5c (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.c25
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