object: string: add b_string_replace_all()
This commit is contained in:
@@ -39,6 +39,7 @@ static inline void b_string_release(b_string *str)
|
|||||||
}
|
}
|
||||||
BLUE_API char *b_string_steal(b_string *str);
|
BLUE_API char *b_string_steal(b_string *str);
|
||||||
BLUE_API b_status b_string_reserve(b_string *str, size_t capacity);
|
BLUE_API b_status b_string_reserve(b_string *str, size_t capacity);
|
||||||
|
BLUE_API b_status b_string_replace_all(b_string *str, const char *new_data);
|
||||||
|
|
||||||
BLUE_API void b_string_append_s(b_string *dest, const b_string *src);
|
BLUE_API void b_string_append_s(b_string *dest, const b_string *src);
|
||||||
BLUE_API void b_string_append_cstr(b_string *dest, const char *src);
|
BLUE_API void b_string_append_cstr(b_string *dest, const char *src);
|
||||||
|
|||||||
@@ -197,6 +197,18 @@ b_status b_string_reserve(struct b_string *str, size_t capacity)
|
|||||||
return err == 0 ? B_SUCCESS : B_ERR_NO_MEMORY;
|
return err == 0 ? B_SUCCESS : B_ERR_NO_MEMORY;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
b_status b_string_replace_all(b_string *str, const char *new_data)
|
||||||
|
{
|
||||||
|
size_t new_len = strlen(new_data);
|
||||||
|
b_string_reserve(str, new_len);
|
||||||
|
char *dest = (char *)b_string_ptr(str);
|
||||||
|
memcpy(dest, new_data, new_len);
|
||||||
|
dest[new_len] = '\0';
|
||||||
|
str->s_len = new_len;
|
||||||
|
|
||||||
|
return B_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
static void string_insert(
|
static void string_insert(
|
||||||
struct b_string *dest, const char *src, size_t len, size_t at)
|
struct b_string *dest, const char *src, size_t len, size_t at)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user