diff options
| author | rajdakin <rajdakin@gmail.com> | 2024-09-20 12:40:06 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-09-20 12:40:06 +0200 |
| commit | 550b72200d098607c5be999682b912903c98657a (patch) | |
| tree | f164c1298066035a374a54fc09972c4ab609f902 /wrapperhelper/src/cstring.c | |
| parent | cd9d19a2bb0bbc411c3e32f9ec6b46df0ce5bfb1 (diff) | |
| download | box64-550b72200d098607c5be999682b912903c98657a.tar.gz box64-550b72200d098607c5be999682b912903c98657a.zip | |
Improve the wrapper helper (#1844)
* [WRAPPERHELPER] Fixed some issues, added better macros * [WRAPPERHELPER] Fixed type_t_equal_lax
Diffstat (limited to 'wrapperhelper/src/cstring.c')
| -rw-r--r-- | wrapperhelper/src/cstring.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/wrapperhelper/src/cstring.c b/wrapperhelper/src/cstring.c index 86536915..8dc18b82 100644 --- a/wrapperhelper/src/cstring.c +++ b/wrapperhelper/src/cstring.c @@ -98,6 +98,16 @@ int string_add_char(string_t *s, char elem) { return 1; } +int string_add_char_at(string_t *s, char elem, size_t idx) { + if (idx == s->ssize) return string_add_char(s, elem); + if (idx > s->ssize) return 0; + if (!string_reserve_grow(s, s->ssize + 1)) return 0; + memmove(s->buf + idx + 1, s->buf + idx, s->ssize + 1 - idx); + ++s->ssize; + s->buf[idx] = elem; + return 1; +} + int string_add_string(string_t *s1, string_t *s2) { if (!string_reserve_grow(s1, s1->ssize + s2->ssize)) return 0; memcpy(s1->buf + s1->ssize, s2->buf, s2->ssize); |