summaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorTyge Løvset <[email protected]>2022-05-13 11:10:09 +0200
committerTyge Løvset <[email protected]>2022-05-13 11:10:09 +0200
commit0f257a1065f551e437199307d21cfc4f9e5415ea (patch)
tree0da78b0c296866ab99148c71d7f24cd1a396beaa /include
parent0232d9f3f6206305662cb9163fdb23372ab6b227 (diff)
downloadSTC-modified-0f257a1065f551e437199307d21cfc4f9e5415ea.tar.gz
STC-modified-0f257a1065f551e437199307d21cfc4f9e5415ea.zip
Fixed bug in cstr_assign_n(). Thanks to murtazahakim for reporting.
Diffstat (limited to 'include')
-rw-r--r--include/stc/cstr.h8
1 files changed, 2 insertions, 6 deletions
diff --git a/include/stc/cstr.h b/include/stc/cstr.h
index 959714d1..a6400dc5 100644
--- a/include/stc/cstr.h
+++ b/include/stc/cstr.h
@@ -353,12 +353,8 @@ STC_DEF size_t cstr_find_n(cstr s, const char* needle, const size_t pos, const s
}
STC_DEF cstr* cstr_assign_n(cstr* self, const char* str, const size_t n) {
- cstr_buf r = cstr_buffer(self);
- if (n > r.cap) {
- r.data = (char *)c_realloc(cstr_is_long(self) ? r.data : NULL, n + 1);
- cstr_l_set_cap(self, n);
- }
- memmove(r.data, str, n);
+ char* d = cstr_reserve(self, n);
+ memmove(d, str, n);
_cstr_set_size(self, n);
return self;
}