1 #include <ccan/jbitset/jbitset.h>
2 #include <ccan/build_assert/build_assert.h>
6 struct jbitset *jbit_new(void)
10 /* Judy uses Word_t, we use unsigned long directly. */
11 BUILD_ASSERT(sizeof(unsigned long) == sizeof(Word_t));
12 /* We pack pointers into jbitset (in jbitset_type.h) */
13 BUILD_ASSERT(sizeof(Word_t) >= sizeof(void *));
15 set = malloc(sizeof(*set));
18 memset(&set->err, 0, sizeof(set->err));
24 const char *jbit_error_(struct jbitset *set)
27 free((char *)set->errstr);
28 set->errstr = str = malloc(100);
30 return "out of memory";
33 "JU_ERRNO_* == %d, ID == %d\n",
34 JU_ERRNO(&set->err), JU_ERRID(&set->err));
38 void jbit_free(const struct jbitset *set)
40 free((char *)set->errstr);
41 Judy1FreeArray((PPvoid_t)&set->judy, PJE0);