#include <stdint.h>
#include <stddef.h>
#include <stdlib.h>
#include <ohash.h>

static void     *xmalloc(size_t, void *);
static void     *xcalloc(size_t, size_t, void *);
static void      xfree(void *, void *);


static void *
xmalloc(size_t sz, void *arg) {
       return calloc(1,sz);
}

static void *
xcalloc(size_t nmemb, size_t sz, void *arg)
{
       return calloc(nmemb,sz);
}

static void
xfree(void *p, void *arg)
{
       free(p);
}

int
main(void)
{
       struct ohash h;
       struct ohash_info i;
       i.alloc = xmalloc;
       i.calloc = xcalloc;
       i.free = xfree;
       ohash_init(&h, 2, &i);
       ohash_delete(&h);
       return 0;
}