1.1 --- a/ucx/map.h Thu Jan 17 23:56:48 2013 +0100 1.2 +++ b/ucx/map.h Wed Feb 06 12:55:56 2013 +0100 1.3 @@ -68,17 +68,25 @@ 1.4 void* ucx_map_remove(UcxMap *map, UcxKey key); 1.5 1.6 #define ucx_map_sstr_put(m, s, d) \ 1.7 - ucx_map_put(m, ucx_key((void*)s.ptr, s.length), d) 1.8 + ucx_map_put(m, ucx_key(s.ptr, s.length), d) 1.9 #define ucx_map_cstr_put(m, s, d) \ 1.10 - ucx_map_put(m, ucx_key((void*)s, 1+strlen(s)), d) 1.11 + ucx_map_put(m, ucx_key((void*)s, strlen(s)), d) 1.12 +#define ucx_map_int_put(m, i, d) \ 1.13 + ucx_map_put(m, ucx_key((void*)&i, sizeof(d)), d) 1.14 + 1.15 #define ucx_map_sstr_get(m, s) \ 1.16 - ucx_map_get(m, ucx_key((void*)s.ptr, s.length)) 1.17 + ucx_map_get(m, ucx_key(s.ptr, s.length)) 1.18 #define ucx_map_cstr_get(m, s) \ 1.19 - ucx_map_get(m, ucx_key((void*)s, 1+strlen(s))) 1.20 + ucx_map_get(m, ucx_key((void*)s, strlen(s))) 1.21 +#define ucx_map_int_get(m, i) \ 1.22 + ucx_map_get(m, ucx_key((void*)&i, sizeof(int))) 1.23 + 1.24 #define ucx_map_sstr_remove(m, s) \ 1.25 - ucx_map_remove(m, ucx_key((void*)s.ptr, s.length)) 1.26 + ucx_map_remove(m, ucx_key(s.ptr, s.length)) 1.27 #define ucx_map_cstr_remove(m, s) \ 1.28 - ucx_map_remove(m, ucx_key((void*)s, 1+strlen(s))) 1.29 + ucx_map_remove(m, ucx_key((void*)s, strlen(s))) 1.30 +#define ucx_map_int_remove(m, i) \ 1.31 + ucx_map_remove(m, ucx_key((void*)&i, sizeof(int))) 1.32 1.33 UcxKey ucx_key(void *data, size_t len); 1.34