1.1 --- a/src/hash_map.c Mon Apr 17 21:47:34 2023 +0200 1.2 +++ b/src/hash_map.c Tue Apr 18 18:01:41 2023 +0200 1.3 @@ -100,7 +100,7 @@ 1.4 if (elm != NULL && elm->key.hash == hash && elm->key.len == key.len && 1.5 memcmp(elm->key.data.obj, key.data.obj, key.len) == 0) { 1.6 // overwrite existing element 1.7 - if (map->store_pointers) { 1.8 + if (map->store_pointer) { 1.9 memcpy(elm->data, &value, sizeof(void *)); 1.10 } else { 1.11 memcpy(elm->data, value, map->item_size); 1.12 @@ -116,7 +116,7 @@ 1.13 } 1.14 1.15 // write the value 1.16 - if (map->store_pointers) { 1.17 + if (map->store_pointer) { 1.18 memcpy(e->data, &value, sizeof(void *)); 1.19 } else { 1.20 memcpy(e->data, value, map->item_size); 1.21 @@ -194,7 +194,7 @@ 1.22 if (elm->key.hash == hash && elm->key.len == key.len) { 1.23 if (memcmp(elm->key.data.obj, key.data.obj, key.len) == 0) { 1.24 void *data = NULL; 1.25 - if (map->store_pointers) { 1.26 + if (map->store_pointer) { 1.27 data = *(void **) elm->data; 1.28 } else if (!remove) { 1.29 data = elm->data; 1.30 @@ -243,7 +243,7 @@ 1.31 struct cx_iterator_s const *iter = it; 1.32 struct cx_hash_map_s const *map = iter->src_handle; 1.33 struct cx_hash_map_element_s *elm = iter->elem_handle; 1.34 - if (map->base.store_pointers) { 1.35 + if (map->base.store_pointer) { 1.36 return *(void **) elm->data; 1.37 } else { 1.38 return elm->data; 1.39 @@ -304,7 +304,7 @@ 1.40 iter->kv_data.value = NULL; 1.41 } else { 1.42 iter->kv_data.key = &elm->key; 1.43 - if (map->base.store_pointers) { 1.44 + if (map->base.store_pointer) { 1.45 iter->kv_data.value = *(void **) elm->data; 1.46 } else { 1.47 iter->kv_data.value = elm->data; 1.48 @@ -344,7 +344,7 @@ 1.49 } 1.50 iter.elem_handle = elm; 1.51 iter.kv_data.key = &elm->key; 1.52 - if (map->store_pointers) { 1.53 + if (map->store_pointer) { 1.54 iter.kv_data.value = *(void **) elm->data; 1.55 } else { 1.56 iter.kv_data.value = elm->data; 1.57 @@ -416,7 +416,7 @@ 1.58 buckets = 16; 1.59 } 1.60 1.61 - struct cx_hash_map_s *map = cxMalloc(allocator, sizeof(struct cx_hash_map_s)); 1.62 + struct cx_hash_map_s *map = cxCalloc(allocator, 1, sizeof(struct cx_hash_map_s)); 1.63 if (map == NULL) return NULL; 1.64 1.65 // initialize hash map members 1.66 @@ -430,13 +430,12 @@ 1.67 // initialize base members 1.68 map->base.cl = &cx_hash_map_class; 1.69 map->base.allocator = allocator; 1.70 - map->base.size = 0; 1.71 1.72 if (itemsize > 0) { 1.73 - map->base.store_pointers = false; 1.74 + map->base.store_pointer = false; 1.75 map->base.item_size = itemsize; 1.76 } else { 1.77 - map->base.store_pointers = true; 1.78 + map->base.store_pointer = true; 1.79 map->base.item_size = sizeof(void *); 1.80 } 1.81