From ce13cd4be59c0415877571d92aaea3fd0d5a7e49 Mon Sep 17 00:00:00 2001 From: zlago Date: Wed, 2 Oct 2024 20:39:39 +0200 Subject: entities --- utl/json2map/common.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'utl/json2map/common.c') diff --git a/utl/json2map/common.c b/utl/json2map/common.c index c401fc1..8c2c4c2 100644 --- a/utl/json2map/common.c +++ b/utl/json2map/common.c @@ -1,7 +1,28 @@ #include #include +#include #include "common.h" +struct blob blob_new(void) { + return (struct blob) {.data = NULL, .size = 0}; +} + +void blob_append(struct blob *const blob, void const *const data, size_t const size) { + char *new = realloc(blob->data, blob->size + size); + if (new == NULL) { + abort(); + } + memcpy(new + blob->size, data, size); + blob->data = new; + blob->size += size; +} + +void blob_free(struct blob *const blob) { + free(blob->data); + blob->data = NULL; + blob->size = 0; +} + struct blob load_file(char const *const name) { const size_t START_SIZE = 8192; FILE *file = fopen(name, "rb"); -- cgit 1.4.1-2-gfad0