From df558da7e1979a59b5207c323962aa59b61258e4 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Wed, 20 Aug 2025 21:50:58 +0100 Subject: Use sv_t instead of raw char* We're storing them as sv_t's anyway, we're fucked with regards to indirection. Thus, let's be nice to ourselves, and deal with the structures. We get the size of the structure for free anyway! --- symtable.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'symtable.c') diff --git a/symtable.c b/symtable.c index 441dad8..e704a27 100644 --- a/symtable.c +++ b/symtable.c @@ -32,9 +32,9 @@ void sym_table_init(sym_table_t *table) vec_make((void **)&table->entries, table->capacity * sizeof(*table->entries)); } -char *sym_table_find(sym_table_t *table, sv_t sv) +sv_t *sym_table_find(sym_table_t *table, sv_t sv) { - // TODO: Deal with resizing this when table->count > table->size / 2 + // WIP: Deal with resizing this when table->count > table->size / 2 u64 index = djb2(sv) & (table->capacity - 1); for (sv_t comp = table->entries[index]; comp.data; index += 1, @@ -51,7 +51,7 @@ char *sym_table_find(sym_table_t *table, sv_t sv) ++table->count; } - return table->entries[index].data; + return table->entries + index; } void sym_table_cleanup(sym_table_t *table) -- cgit v1.2.3-13-gbd6f