ucx/map.h

changeset 78
af355652f271
parent 71
303dabadff1c
child 79
cf3757c60c8f
     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  

mercurial