diff options
| author | ame <[email protected]> | 2023-12-28 19:02:03 -0600 |
|---|---|---|
| committer | ame <[email protected]> | 2023-12-28 19:02:03 -0600 |
| commit | 6c0a32d32ee310a78a8c5651dca443d378bb1f32 (patch) | |
| tree | 6a266ec7e4f61e90c23ce6df557203f948d36d29 /src/i_str.c | |
| parent | 730313437437a9495390b7c2f0a6eded3dbc2653 (diff) | |
json parsing :p
Diffstat (limited to 'src/i_str.c')
| -rw-r--r-- | src/i_str.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/i_str.c b/src/i_str.c new file mode 100644 index 0000000..804a33d --- /dev/null +++ b/src/i_str.c @@ -0,0 +1,35 @@ +#include "i_str.h" + +str* str_init(char* init){ + if(init == NULL){ + char cc = '\0'; + init = &cc; + } + + size_t len = strlen(init); + str* s = malloc(sizeof * s); + s->c = malloc(len + 1); + s->len = len ; + + memcpy(s->c, init, len + 1); + return s; +} + +void str_free(str* s){ + free(s->c); + return free(s); +} + +void str_push(str* s, char* insert){ + s->len += strlen(insert); + s->c = realloc(s->c, s->len + 5); + strcat(s->c, insert); +} + +void str_clear(str* s){ + memset(s->c, 0, s->len); + + s->len = 0; +} + + |
