root/utils.h

#pragma once

#include <string.h>
#include <malloc.h>

struct Buffer {
    char* buffer;
    size_t bufferUsed;
    size_t bufferAllocated;
};
void Buffer_init(struct Buffer* this);
void Buffer_destroyMembers(struct Buffer* this);
size_t Buffer_append(struct Buffer* this, const void* data, size_t dataSize);

char* copy_string(const char* str, size_t strln);
size_t safe_strlen(const char* str);
void safe_free(void* p);