From 9ee73a8459eb2bb58adc29da02de312b7e4e7dca Mon Sep 17 00:00:00 2001 From: ubq323 Date: Sat, 5 Aug 2023 04:15:17 +0100 Subject: refactor hashtables, and use objstrings for keys doesn't yet work without string interning, which will require further refactoring --- val.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'val.h') diff --git a/val.h b/val.h index 6e4cc18..3cf3251 100644 --- a/val.h +++ b/val.h @@ -2,6 +2,9 @@ #define _val_h #include +#include +#include + typedef struct _val Val; typedef struct _obj Obj; @@ -38,10 +41,12 @@ typedef struct _obj { typedef struct { Obj obj; size_t len; + uint32_t hash; char *b; } ObjString; -// copies data -ObjString *objstring_new(char *src, size_t len); + +ObjString *objstring_copy(char *src, size_t len); +ObjString *objstring_take(char *src, size_t len); #define IS_NIL(x) (x.ty == NIL) -- cgit v1.2.3