Add str8_copy functions
This commit is contained in:
@@ -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;
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user