From a76ba1b33e397638c4209dd77e6073e423ac07a8 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Mon, 22 Apr 2019 02:34:30 +0200 Subject: Start on bytecode. Commit before os switch --- src/std/buffer.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'src/std/buffer.c') diff --git a/src/std/buffer.c b/src/std/buffer.c index 8e23a30..5fb4b05 100644 --- a/src/std/buffer.c +++ b/src/std/buffer.c @@ -40,13 +40,23 @@ static CHECK_RESULT int buffer_ensure_capacity(Buffer *self, usize new_capacity) } int buffer_append(Buffer *self, const void *data, usize size) { + assert(data); return_if_error(buffer_ensure_capacity(self, self->size + size)); - if(data) - am_memcpy(self->data + self->size, data, size); + am_memcpy(self->data + self->size, data, size); self->size += size; return BUFFER_OK; } +int buffer_append_empty(Buffer *self, usize size) { + return_if_error(buffer_ensure_capacity(self, self->size + size)); + self->size += size; + return BUFFER_OK; +} + +int buffer_expand(Buffer *self, usize size) { + return buffer_ensure_capacity(self, self->size + size); +} + void* buffer_get(Buffer *self, usize index, usize type_size) { usize real_index; real_index = index * type_size; @@ -66,7 +76,7 @@ void buffer_clear(Buffer *self) { self->size = 0; } -void* buffer_start(Buffer *self) { +void* buffer_begin(Buffer *self) { return self->data; } -- cgit v1.2.3