diff -r 51311a5685d3 -r af355652f271 ucx/map.h --- a/ucx/map.h Thu Jan 17 23:56:48 2013 +0100 +++ b/ucx/map.h Wed Feb 06 12:55:56 2013 +0100 @@ -68,17 +68,25 @@ void* ucx_map_remove(UcxMap *map, UcxKey key); #define ucx_map_sstr_put(m, s, d) \ - ucx_map_put(m, ucx_key((void*)s.ptr, s.length), 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((void*)s, 1+strlen(s)), d) + ucx_map_put(m, ucx_key((void*)s, strlen(s)), d) +#define ucx_map_int_put(m, i, d) \ + ucx_map_put(m, ucx_key((void*)&i, sizeof(d)), d) + #define ucx_map_sstr_get(m, s) \ - ucx_map_get(m, ucx_key((void*)s.ptr, s.length)) + ucx_map_get(m, ucx_key(s.ptr, s.length)) #define ucx_map_cstr_get(m, s) \ - ucx_map_get(m, ucx_key((void*)s, 1+strlen(s))) + ucx_map_get(m, ucx_key((void*)s, strlen(s))) +#define ucx_map_int_get(m, i) \ + ucx_map_get(m, ucx_key((void*)&i, sizeof(int))) + #define ucx_map_sstr_remove(m, s) \ - ucx_map_remove(m, ucx_key((void*)s.ptr, s.length)) + ucx_map_remove(m, ucx_key(s.ptr, s.length)) #define ucx_map_cstr_remove(m, s) \ - ucx_map_remove(m, ucx_key((void*)s, 1+strlen(s))) + ucx_map_remove(m, ucx_key((void*)s, strlen(s))) +#define ucx_map_int_remove(m, i) \ + ucx_map_remove(m, ucx_key((void*)&i, sizeof(int))) UcxKey ucx_key(void *data, size_t len);