X-Git-Url: http://git.ozlabs.org/?p=ccan;a=blobdiff_plain;f=ccan%2Fjmap%2Fjmap.c;h=8982a7155ca73bc7059c441d4cdff539e13c40f1;hp=1773d56f5ddecc8afe4420fb17bc106ffe601025;hb=578da7e7b6265153fa0519035fc52a086a711ac0;hpb=7766154ac917ee68545f5dafc481642feb3b85ab diff --git a/ccan/jmap/jmap.c b/ccan/jmap/jmap.c index 1773d56f..8982a715 100644 --- a/ccan/jmap/jmap.c +++ b/ccan/jmap/jmap.c @@ -1,9 +1,10 @@ +/* Licensed under LGPLv2.1+ - see LICENSE file for details */ #include #include #include #include -struct jmap *jmap_new(void) +struct jmap *jmap_new_(size_t size) { struct jmap *map; @@ -12,7 +13,8 @@ struct jmap *jmap_new(void) /* We also put pointers into Judy, in jmap_types.h */ BUILD_ASSERT(sizeof(Word_t) >= sizeof(void *)); - map = malloc(sizeof(*map)); + assert(size >= sizeof(*map)); + map = malloc(size); if (map) { map->judy = NULL; memset(&map->err, 0, sizeof(map->err)); @@ -25,7 +27,7 @@ struct jmap *jmap_new(void) return map; } -const char *jmap_error_(struct jmap *map) +const char *jmap_error_str_(struct jmap *map) { char *str; free((char *)map->errstr); @@ -39,9 +41,9 @@ const char *jmap_error_(struct jmap *map) return str; } -void jmap_free(const struct jmap *map) +void jmap_free_(const struct jmap *map) { free((char *)map->errstr); - Judy1FreeArray((PPvoid_t)&map->judy, PJE0); + JudyLFreeArray((PPvoid_t)&map->judy, PJE0); free((void *)map); }