Add str8_copy functions

This commit is contained in:
2025-02-16 17:34:48 +00:00
parent 6078e54087
commit 0569fca193
5 changed files with 66 additions and 0 deletions

View File

@@ -151,6 +151,31 @@ void wapp_str8_concat_capped(Str8 *dst, Str8RO *src) {
dst->size += to_copy;
}
void wapp_str8_copy_cstr_capped(Str8 *dst, const char *src) {
if (!dst || !src) {
return;
}
u64 length = strlen(src);
u64 to_copy = length <= dst->capacity ? length : dst->capacity;
memset(dst->buf, 0, dst->size);
memcpy(dst->buf, src, to_copy);
dst->size = to_copy;
}
void wapp_str8_copy_str8_capped(Str8 *dst, Str8RO *src) {
if (!dst || !src) {
return;
}
u64 to_copy = src->size <= dst->capacity ? src->size : dst->capacity;
memset(dst->buf, 0, dst->size);
memcpy(dst->buf, src->buf, to_copy);
dst->size = to_copy;
}
i64 wapp_str8_find(Str8RO *str, Str8RO substr) {
if (substr.size > str->size) {
return -1;

View File

@@ -70,6 +70,8 @@ bool wapp_str8_equal(Str8RO *s1, Str8RO *s2);
Str8RO wapp_str8_substr(Str8RO *str, u64 start, u64 end);
Str8 *wapp_str8_concat(const Allocator *allocator, Str8 *dst, Str8RO *src);
void wapp_str8_concat_capped(Str8 *dst, Str8RO *src);
void wapp_str8_copy_cstr_capped(Str8 *dst, const char *src);
void wapp_str8_copy_str8_capped(Str8 *dst, Str8RO *src);
/**
* Str8 find functions