Compare commits
No commits in common. "ebe6e58ef3b777a7e45f10b5552ca95bc96e8cc8" and "c0c845bee829da0c09fd78634dbca405a1877d3f" have entirely different histories.
ebe6e58ef3
...
c0c845bee8
@ -27,6 +27,3 @@ static inline void Array_realloc_size(Array* ar, u32 new_size){
|
||||
|
||||
#define Array_len(AR, T) ((AR)->size / sizeof(T))
|
||||
#define Array_memset(A, VAL) memset((A)->data, VAL, (A)->size)
|
||||
|
||||
#define str_castTo_Array(S) Array_construct_size((S).data, (S).size)
|
||||
#define Array_castTo_str(S, IS_ZERO_TERMINATED) str_construct((S).data, (S).size, IS_ZERO_TERMINATED)
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
#pragma once
|
||||
|
||||
#include "../collections/List.h"
|
||||
#include "../collections/Array.h"
|
||||
#include "str.h"
|
||||
|
||||
typedef struct StringBuilder {
|
||||
@ -17,11 +16,10 @@ void StringBuilder_destroy(StringBuilder* b);
|
||||
void StringBuilder_removeFromEnd(StringBuilder* b, u32 count);
|
||||
void StringBuilder_append_char(StringBuilder* b, char c);
|
||||
void StringBuilder_append_cstr(StringBuilder* b, char* s);
|
||||
void StringBuilder_append_str(StringBuilder* b, str s);
|
||||
void StringBuilder_append_string(StringBuilder* b, str s);
|
||||
void StringBuilder_append_i64(StringBuilder* b, i64 a);
|
||||
void StringBuilder_append_u64(StringBuilder* b, u64 a);
|
||||
void StringBuilder_append_f64(StringBuilder* b, f64 a);
|
||||
void StringBuilder_append_memory(StringBuilder* b, Array mem);
|
||||
|
||||
// adds '\0' to the buffer and returns pointer to buffer content
|
||||
str StringBuilder_getStr(StringBuilder* b);
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
|
||||
typedef struct str {
|
||||
char* data;
|
||||
u32 size; // size of data in bytes without \0
|
||||
u32 size;
|
||||
bool isZeroTerminated;
|
||||
} str;
|
||||
|
||||
|
||||
@ -26,15 +26,12 @@ void StringBuilder_append_char(StringBuilder* b, char c){
|
||||
}
|
||||
|
||||
|
||||
void StringBuilder_append_str(StringBuilder* b, str s){
|
||||
if(s.data == NULL)
|
||||
return;
|
||||
|
||||
void StringBuilder_append_string(StringBuilder* b, str s){
|
||||
List_push_size(&b->buffer, s.data, s.size);
|
||||
}
|
||||
|
||||
void StringBuilder_append_cstr(StringBuilder* b, char* s){
|
||||
StringBuilder_append_str(b, str_construct(s, strlen(s), true));
|
||||
StringBuilder_append_string(b, str_construct(s, strlen(s), true));
|
||||
}
|
||||
|
||||
void StringBuilder_append_i64(StringBuilder* b, i64 n){
|
||||
@ -54,14 +51,3 @@ void StringBuilder_append_f64(StringBuilder* b, f64 n){
|
||||
sprintf(buf, "%lf", n);
|
||||
StringBuilder_append_cstr(b, buf);
|
||||
}
|
||||
|
||||
void StringBuilder_append_memory(StringBuilder* b, Array mem) {
|
||||
if(mem.data == NULL)
|
||||
return;
|
||||
|
||||
char buf[8];
|
||||
for (u32 i=0; i < mem.size; i++) {
|
||||
sprintf(buf, "%02x", ((u8*)mem.data)[i]);
|
||||
StringBuilder_append_str(b, str_construct(buf, 2, true));
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user