1*61d06d6bSBaptiste Daroussin #include <stdint.h>
2*61d06d6bSBaptiste Daroussin #include <stddef.h>
3*61d06d6bSBaptiste Daroussin #include <stdlib.h>
4*61d06d6bSBaptiste Daroussin #include <ohash.h>
5*61d06d6bSBaptiste Daroussin
6*61d06d6bSBaptiste Daroussin static void *xmalloc(size_t, void *);
7*61d06d6bSBaptiste Daroussin static void *xcalloc(size_t, size_t, void *);
8*61d06d6bSBaptiste Daroussin static void xfree(void *, void *);
9*61d06d6bSBaptiste Daroussin
10*61d06d6bSBaptiste Daroussin
11*61d06d6bSBaptiste Daroussin static void *
xmalloc(size_t sz,void * arg)12*61d06d6bSBaptiste Daroussin xmalloc(size_t sz, void *arg) {
13*61d06d6bSBaptiste Daroussin return calloc(1,sz);
14*61d06d6bSBaptiste Daroussin }
15*61d06d6bSBaptiste Daroussin
16*61d06d6bSBaptiste Daroussin static void *
xcalloc(size_t nmemb,size_t sz,void * arg)17*61d06d6bSBaptiste Daroussin xcalloc(size_t nmemb, size_t sz, void *arg)
18*61d06d6bSBaptiste Daroussin {
19*61d06d6bSBaptiste Daroussin return calloc(nmemb,sz);
20*61d06d6bSBaptiste Daroussin }
21*61d06d6bSBaptiste Daroussin
22*61d06d6bSBaptiste Daroussin static void
xfree(void * p,void * arg)23*61d06d6bSBaptiste Daroussin xfree(void *p, void *arg)
24*61d06d6bSBaptiste Daroussin {
25*61d06d6bSBaptiste Daroussin free(p);
26*61d06d6bSBaptiste Daroussin }
27*61d06d6bSBaptiste Daroussin
28*61d06d6bSBaptiste Daroussin int
main(void)29*61d06d6bSBaptiste Daroussin main(void)
30*61d06d6bSBaptiste Daroussin {
31*61d06d6bSBaptiste Daroussin struct ohash h;
32*61d06d6bSBaptiste Daroussin struct ohash_info i;
33*61d06d6bSBaptiste Daroussin i.alloc = xmalloc;
34*61d06d6bSBaptiste Daroussin i.calloc = xcalloc;
35*61d06d6bSBaptiste Daroussin i.free = xfree;
36*61d06d6bSBaptiste Daroussin ohash_init(&h, 2, &i);
37*61d06d6bSBaptiste Daroussin ohash_delete(&h);
38*61d06d6bSBaptiste Daroussin return 0;
39*61d06d6bSBaptiste Daroussin }
40