diff options
-rw-r--r-- | src/hashmap.c | 11 | ||||
-rw-r--r-- | src/hashmap.h | 1 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/hashmap.c b/src/hashmap.c index 95ea45da48..7ef809746d 100644 --- a/src/hashmap.c +++ b/src/hashmap.c @@ -558,6 +558,17 @@ void* hashmap_first(Hashmap *h) { return h->iterate_list_head->value; } +void* hashmap_first_key(Hashmap *h) { + + if (!h) + return NULL; + + if (!h->iterate_list_head) + return NULL; + + return (void*) h->iterate_list_head->key; +} + void* hashmap_last(Hashmap *h) { if (!h) diff --git a/src/hashmap.h b/src/hashmap.h index 16ffbd3922..ab4363a7a3 100644 --- a/src/hashmap.h +++ b/src/hashmap.h @@ -74,6 +74,7 @@ void hashmap_clear(Hashmap *h); void *hashmap_steal_first(Hashmap *h); void *hashmap_steal_first_key(Hashmap *h); void* hashmap_first(Hashmap *h); +void* hashmap_first_key(Hashmap *h); void* hashmap_last(Hashmap *h); char **hashmap_get_strv(Hashmap *h); |