aboutsummaryrefslogtreecommitdiff
path: root/include/buffer.h
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2019-02-24 17:53:46 +0100
committerdec05eba <dec05eba@protonmail.com>2020-07-25 14:36:46 +0200
commita27a3e6ae09e8396584c95a3567b145e86d8bc40 (patch)
tree6b56721fb64f31e4b731e75942f81838d10b0612 /include/buffer.h
parenta307f17f44b461f58441926fcbf87883f17ebe61 (diff)
Fixed CHECK_RESULT macro, use scoped allocator
Scoped allocator gives us better performance and cleanup code for error cases is much cleaner
Diffstat (limited to 'include/buffer.h')
-rw-r--r--include/buffer.h7
1 files changed, 3 insertions, 4 deletions
diff --git a/include/buffer.h b/include/buffer.h
index c45fbde..700ae7b 100644
--- a/include/buffer.h
+++ b/include/buffer.h
@@ -1,20 +1,19 @@
#ifndef AMALGAM_BUFFER_H
#define AMALGAM_BUFFER_H
-#include "types.h"
-#include "misc.h"
+#include "scoped_allocator.h"
#define BUFFER_OK 0
#define BUFFER_ALLOC_FAIL -1
typedef struct {
+ ScopedAllocator *allocator;
char* data;
usize size;
usize capacity;
} Buffer;
-void buffer_init(Buffer *self);
-void buffer_deinit(Buffer *self);
+CHECK_RESULT int buffer_init(Buffer *self, ScopedAllocator *allocator, usize initial_capacity);
CHECK_RESULT int buffer_append(Buffer *self, void *data, usize size);
void* buffer_get(Buffer *self, usize index, usize type_size);