Get rid of clib in big int, introduce message api, add stringify message
This commit is contained in:
@@ -209,26 +209,16 @@ string_builder_make(Allocator *a, S64 first_block_size = 4096){
|
||||
return sb;
|
||||
}
|
||||
|
||||
enum String_Builder_Flag{
|
||||
String_Builder_Flag_None = 0,
|
||||
String_Builder_Flag_AddSize = 0,
|
||||
};
|
||||
|
||||
CORE_Static String
|
||||
string_flatten(Allocator *a, String_Builder *b, String_Builder_Flag flags = String_Builder_Flag_None){
|
||||
// @! Make string_flatten a method
|
||||
static String string_flatten(Allocator *a, String_Builder *b){
|
||||
// @Note(Krzosa): Compute size to allocate
|
||||
S64 size = 1;
|
||||
if(is_flag_set(flags, String_Builder_Flag_AddSize)) size += sizeof(size_t);
|
||||
For_Linked_List(b->first){
|
||||
size += it->len;
|
||||
}
|
||||
|
||||
String result = {};
|
||||
result.str = (U8 *)allocate_size(a, size, false);
|
||||
if(is_flag_set(flags, String_Builder_Flag_AddSize)) {
|
||||
memory_copy(result.str + result.len, &size, sizeof(S64));
|
||||
result.len += sizeof(S64);
|
||||
}
|
||||
|
||||
// @Note(Krzosa): Copy the content of each block into the string
|
||||
For_Linked_List(b->first){
|
||||
|
||||
Reference in New Issue
Block a user