summaryrefslogtreecommitdiff
path: root/str/str.c
diff options
context:
space:
mode:
authorSoikk2025-12-10 19:31:36 +0100
committerSoikk2025-12-10 19:31:36 +0100
commit7bcdd0f00754dc82772386f17cd885b9c71a2db0 (patch)
treea3aabc9c08712315d20a58b59d52234bb5857ea6 /str/str.c
parent2849165b1de9ad6643d39fec32954a165b7fdc2e (diff)
downloadsoikk-libs-7bcdd0f00754dc82772386f17cd885b9c71a2db0.tar.xz
soikk-libs-7bcdd0f00754dc82772386f17cd885b9c71a2db0.tar.zst
Added check to prevent allocating extra byte for empty strings
Diffstat (limited to 'str/str.c')
-rwxr-xr-xstr/str.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/str/str.c b/str/str.c
index 4a4c709..7ce898e 100755
--- a/str/str.c
+++ b/str/str.c
@@ -48,7 +48,7 @@ str dstr(char *s){
str r = {
.cap = len(s),
.len = r.cap,
- .ptr = calloc(r.len+1, sizeof(char))
+ .ptr = r.cap > 0 ? calloc(r.len+1, sizeof(char)) : NULL
};
if(r.ptr == NULL) r = (str){0};
else memcpy(r.ptr, s, r.len);
@@ -56,6 +56,7 @@ str dstr(char *s){
}
str dnstr(u32 cap){
+ if(cap == 0) return (str){0};
str s = {
.cap = cap,
.len = 0,