strset: allow const arguments to strset_iterate().
[ccan] / ccan / strset / strset.c
index a5441d4462e27da84ca1cf01ccfc897564c0bb98..8b38ba2978f617dc4d018c045ab4c8b236bedb87 100644 (file)
@@ -229,19 +229,19 @@ char *strset_clear(struct strset *set, const char *member)
 }
 
 static bool iterate(struct strset n,
-                   bool (*handle)(const char *, void *), void *data)
+                   bool (*handle)(const char *, void *), const void *data)
 {
        if (n.u.s[0])
-               return handle(n.u.s, data);
+               return handle(n.u.s, (void *)data);
        if (unlikely(n.u.n->byte_num == (size_t)-1))
-               return handle(n.u.n->child[0].u.s, data);
+               return handle(n.u.n->child[0].u.s, (void *)data);
 
        return iterate(n.u.n->child[0], handle, data)
                || iterate(n.u.n->child[1], handle, data);
 }
 
 void strset_iterate_(const struct strset *set,
-                    bool (*handle)(const char *, void *), void *data)
+                    bool (*handle)(const char *, void *), const void *data)
 {
        /* Empty set? */
        if (!set->u.n)