diff -r 1666cbeb1db8 -r bce0d7f2912b ucx/map.h --- a/ucx/map.h Mon Feb 20 15:30:45 2012 +0100 +++ b/ucx/map.h Tue Feb 21 01:13:17 2012 +0100 @@ -17,7 +17,7 @@ typedef struct UcxMapElement UcxMapElement; struct UcxMap { - UcxMapElement *map; + UcxMapElement **map; size_t size; }; @@ -35,14 +35,15 @@ UcxMap *ucx_map_new(size_t size); +void ucx_map_free(UcxMap *map); int ucx_map_put(UcxMap *map, UcxKey key, void *data); void* ucx_map_get(UcxMap *map, UcxKey key); -#define ucx_map_sstr_put(m, s, d) ucx_map_put(m, ucx_key(s.ptr, s.length), d) -#define ucx_map_cstr_put(m, s, d) ucx_map_put(m, ucx_key(s, strlen(s)), d) -#define ucx_map_sstr_get(m, s) ucx_map_get(m, ucx_key(s.ptr, s.length)) -#define ucx_map_cstr_get(m, s) ucx_map_get(m, ucx_key(s, strlen(s))) +#define ucx_map_sstr_put(m, s, d) ucx_map_put(m, ucx_key(s.ptr, 1+s.length), d) +#define ucx_map_cstr_put(m, s, d) ucx_map_put(m, ucx_key(s, 1+strlen(s)), d) +#define ucx_map_sstr_get(m, s) ucx_map_get(m, ucx_key(s.ptr, 1+s.length)) +#define ucx_map_cstr_get(m, s) ucx_map_get(m, ucx_key(s, 1+strlen(s))) UcxKey ucx_key(void *data, size_t len);