From 0f257a1065f551e437199307d21cfc4f9e5415ea Mon Sep 17 00:00:00 2001 From: Tyge Løvset Date: Fri, 13 May 2022 11:10:09 +0200 Subject: Fixed bug in cstr_assign_n(). Thanks to murtazahakim for reporting. --- include/stc/cstr.h | 8 ++------ 1 file 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; } -- cgit v1.2.3