From ce05175372a9ddca1a225db0765ace1127a39293 Mon Sep 17 00:00:00 2001 From: Nicholas Date: Fri, 12 Nov 2021 09:22:01 -0800 Subject: chore: simplified organizational structure --- sys/base/string/grow.c | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 sys/base/string/grow.c (limited to 'sys/base/string/grow.c') diff --git a/sys/base/string/grow.c b/sys/base/string/grow.c deleted file mode 100644 index 39a9d2f..0000000 --- a/sys/base/string/grow.c +++ /dev/null @@ -1,33 +0,0 @@ -#include "internal.h" - -// grow ensures that the string can encompass at least delta bytes. -// if it already can, this is a no op. -// if it can't, the string will be reallocated. -void -str·grow(string *s, vlong delta) -{ - Hdr *h, *newh; - vlong cap = str·cap(*s); - vlong len = str·len(*s); - assert(cap >= len); // To prevent unsigned behavior - - if (cap - len >= delta) return; - - h = (Hdr*)(*s - sizeof(Hdr)); - - vlong newCap = cap + delta; - assert(newCap >= cap); // To prevent unsigned behavior - if (newCap < MAX_STRING_ALLOC) { - newCap *= 2; - } else - newCap += MAX_STRING_ALLOC; - - newh = (Hdr*)realloc(h, sizeof(*h) + newCap + 1); - if (newh == nil) return; - - memset(newh->buf + len, '\0', newCap - len); - newh->cap = newCap; - newh->len = len; - - *s = newh->buf; -} -- cgit v1.2.1