summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/gehashmap.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/src/gehashmap.h b/src/gehashmap.h
index 9415589..5d29b89 100644
--- a/src/gehashmap.h
+++ b/src/gehashmap.h
@@ -142,12 +142,11 @@
\
hash = n##_key_hash(key) % map->capacity; \
entry = map->entries[hash]; \
- while (entry != NULL) { \
+ for (entry != NULL; entry = entry->next) { \
if (n##_key_iseq(entry->key, key)) { \
entry->val = val; \
return 0; \
} \
- entry = entry->next; \
} \
\
if ((entry = malloc(sizeof(struct n##_entry))) == NULL) \
@@ -173,13 +172,12 @@
size_t hash = n##_key_hash(key) % map->capacity; \
struct n##_entry *entry = map->entries[hash]; \
\
- while (entry != NULL) { \
+ for (entry != NULL; entry = entry->next) { \
if (n##_key_iseq(entry->key, key)) { \
if (val != NULL) \
*val = entry->val; \
return true; \
} \
- entry = entry->next; \
} \
\
return false; \
@@ -215,7 +213,7 @@
return 0; \
} \
\
- while (entry->next != NULL) { \
+ for (entry->next != NULL; entry = entry->next) { \
if (n##_key_iseq(entry->next->key, key)) { \
struct n##_entry *next = entry->next; \
entry->next = next->next; \
@@ -223,7 +221,6 @@
map->size--; \
return 0; \
} \
- entry = entry->next; \
} \
\
return -1; \