diff -r edb9f875b7f9 -r b2bc48c2b251 src/hash_map.c --- a/src/hash_map.c Fri Apr 12 21:48:12 2024 +0200 +++ b/src/hash_map.c Thu May 23 15:05:24 2024 +0200 @@ -333,23 +333,27 @@ CxIterator iter; iter.src_handle = map; - iter.base.valid = cx_hash_map_iter_valid; - iter.base.next = cx_hash_map_iter_next; + iter.elem_count = map->size; switch (type) { case CX_MAP_ITERATOR_PAIRS: + iter.elem_size = sizeof(CxMapEntry); iter.base.current = cx_hash_map_iter_current_entry; break; case CX_MAP_ITERATOR_KEYS: + iter.elem_size = sizeof(CxHashKey); iter.base.current = cx_hash_map_iter_current_key; break; case CX_MAP_ITERATOR_VALUES: + iter.elem_size = map->item_size; iter.base.current = cx_hash_map_iter_current_value; break; default: assert(false); } + iter.base.valid = cx_hash_map_iter_valid; + iter.base.next = cx_hash_map_iter_next; iter.base.remove = false; iter.base.mutating = false;