From 819551330bc729efef106971e182210ccfd4f6fe Mon Sep 17 00:00:00 2001 From: Matheus Date: Wed, 23 Jul 2025 17:40:33 -0300 Subject: [PATCH] hashtable: static define macro --- kernel-src/include/hashtable.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/kernel-src/include/hashtable.h b/kernel-src/include/hashtable.h index 18442a83..54fc868b 100644 --- a/kernel-src/include/hashtable.h +++ b/kernel-src/include/hashtable.h @@ -15,7 +15,7 @@ typedef struct hashentry_t { } hashentry_t; typedef struct { - size_t entrycount; + size_t entrycount; // for bookkeeping size_t capacity; hashentry_t **entries; } hashtable_t; @@ -30,4 +30,12 @@ int hashtable_destroy(hashtable_t *table); for (uintmax_t toffset = 0; toffset < (table)->capacity; ++toffset) \ for (hashentry_t *entry = (table)->entries[toffset]; entry != NULL; entry = entry->next) +#define HASHTABLE_DEFINE_STATIC(name, size) \ + static hashentry_t *entries_ht_##name[size]; \ + static hashtable_t name = { \ + .entrycount = 0, \ + .capacity = size, \ + .entries = entries_ht_##name \ + } + #endif