diff options
| author | spl3g <spleefer6@yandex.ru> | 2025-03-19 18:09:27 +0300 |
|---|---|---|
| committer | spl3g <spleefer6@yandex.ru> | 2025-03-19 18:11:15 +0300 |
| commit | 7a9d112ffa5b954baa43f2eddaa50ec1bd88f96f (patch) | |
| tree | 29cef1d399035470b2b85d45a1c138d5f21cf862 /lib/arena_strings.c | |
| parent | 269014e7843fabf395fca10c3364e50825f0fe20 (diff) | |
make const string actually const
Diffstat (limited to 'lib/arena_strings.c')
| -rw-r--r-- | lib/arena_strings.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/arena_strings.c b/lib/arena_strings.c index af933a5..3497c2e 100644 --- a/lib/arena_strings.c +++ b/lib/arena_strings.c @@ -25,29 +25,29 @@ const_string arena_cs_concat(arena *a, const_string_da strings, const_string sep return *strings.data; } - volatile int len = sep.len * (strings.len - 1); + int len = sep.len * (strings.len - 1); for (size_t i = 0; i < strings.len; i++) { len += (strings.data + i)->len; }; - const_string str = arena_cs_init(a, len); + char* str = arena_alloc(a, len); int offset = 0; for (size_t i = 0; i < strings.len; i++) { int curr_strlen = (strings.data + i)->len; - memcpy(str.data + offset, + memcpy(str + offset, (strings.data + i)->data, curr_strlen); offset += curr_strlen; if (i != strings.len - 1) { - memcpy(str.data + offset, + memcpy(str + offset, sep.data, sep.len); offset += sep.len; } }; - *(str.data + len + 1) = '\0'; + *(str + len + 1) = '\0'; - return str; + return (const_string){str, len}; }; |
