From 303f428e78cf44f10032e55a69d5d5cd00f5d715 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Sun, 19 Nov 2023 15:31:47 +0000 Subject: Split out strings module in runtime --- runtime/src/strings.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 runtime/src/strings.c (limited to 'runtime/src/strings.c') diff --git a/runtime/src/strings.c b/runtime/src/strings.c new file mode 100644 index 00000000..9a81a4fd --- /dev/null +++ b/runtime/src/strings.c @@ -0,0 +1,21 @@ +#include "./shed.h" + +ShedString shed__runtime__string_alloc(ShedStringLength length) { + return shed__runtime__alloc(sizeof(ShedStringLength) + length); +} + +ShedString shed__runtime__string_add(ShedString left, ShedString right) { + ShedStringLength length = left->length + right->length; + ShedString string = shed__runtime__string_alloc(length); + string->length = length; + + for(ShedStringLength i = 0; i < left->length; i++) { + string->data[i] = left->data[i]; + } + + for(ShedStringLength i = 0; i < right->length; i++) { + string->data[left->length + i] = right->data[i]; + } + + return string; +} -- cgit v1.2.3