diff options
| author | Tyge Løvset <[email protected]> | 2022-05-13 11:10:09 +0200 |
|---|---|---|
| committer | Tyge Løvset <[email protected]> | 2022-05-13 11:10:09 +0200 |
| commit | 0f257a1065f551e437199307d21cfc4f9e5415ea (patch) | |
| tree | 0da78b0c296866ab99148c71d7f24cd1a396beaa /include | |
| parent | 0232d9f3f6206305662cb9163fdb23372ab6b227 (diff) | |
| download | STC-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.h | 8 |
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;
}
|
