diff --git a/src/wren_value.c b/src/wren_value.c index 5782e94a..a8519dfe 100644 --- a/src/wren_value.c +++ b/src/wren_value.c @@ -341,6 +341,7 @@ Value wrenNewUninitializedString(WrenVM* vm, size_t length) { ObjString* string = allocate(vm, sizeof(ObjString) + length + 1); initObj(vm, &string->obj, OBJ_STRING, vm->stringClass); + string->length = length; return OBJ_VAL(string); } diff --git a/src/wren_value.h b/src/wren_value.h index 0f5279d4..ca5f3b6b 100644 --- a/src/wren_value.h +++ b/src/wren_value.h @@ -108,6 +108,7 @@ DECLARE_BUFFER(Value, Value); typedef struct { Obj obj; + size_t length; // not including null terminator char value[]; } ObjString;