diff options
| -rw-r--r-- | String.c | 10 |
1 files changed, 4 insertions, 6 deletions
@@ -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; |
