From e20ff4067df6851eb676beb8eb9f26d10b919e70 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Tue, 21 Apr 2026 21:27:08 +0300 Subject: feat(S_append): Always resize string --- String.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/String.c b/String.c index c63677b..2553d69 100644 --- a/String.c +++ b/String.c @@ -85,12 +85,10 @@ S_append(String s, const char* str) { struct StringMeta* sm = S_metadata(s); - usize strlength = strlen(str); - if (sm->length - strlen(s) < strlength) { - if (!B_resizeable(sm->b, s)) - return R_Err; - B_resize(sm->b, sizeof(*sm) + (sm->length += strlength) + 1); - } + if (!B_resizeable(sm->b, s)) + return R_OutOfBounds; + + RETURN_NOTOK(B_resize(sm->b, sizeof(*sm) + (sm->length += strlen(str)) + 1)); strcat(s, str); return R_Ok; -- cgit v1.2.3