aboutsummaryrefslogtreecommitdiff
path: root/buffer.c
diff options
context:
space:
mode:
authordec05eba <dec05eba@protonmail.com>2020-07-13 15:59:30 +0200
committerdec05eba <dec05eba@protonmail.com>2020-07-13 15:59:30 +0200
commitae0520e57267dbd866fc8cd25f66f4e6af2ac118 (patch)
tree22788688f1b588c3ad00c1ce3fe13da68b3a9382 /buffer.c
parenta1ca82847eb356c6b85ada2ac11f38d98f6e085e (diff)
Move c files into src directory
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/buffer.c b/buffer.c
deleted file mode 100644
index 5768b3a..0000000
--- a/buffer.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include "buffer.h"
-#include "alloc.h"
-#include <stdio.h>
-#include <string.h>
-#include <assert.h>
-
-void buffer_init(Buffer *self) {
- self->data = NULL;
- self->size = 0;
- self->capacity = 0;
-}
-
-void buffer_deinit(Buffer *self) {
- free(self->data);
- self->size = 0;
- self->capacity = 0;
-}
-
-static void buffer_ensure_capacity(Buffer *self, size_t new_size) {
- size_t new_capacity = self->capacity;
- if(new_size <= self->capacity)
- return;
-
- if(new_capacity == 0)
- new_capacity = 8;
-
- while(new_capacity < new_size) {
- /* new_capacity *= 1.5 */
- new_capacity += (new_capacity >> 1);
- }
-
- self->data = realloc_or_crash(self->data, new_capacity);
- self->capacity = new_capacity;
-}
-
-void buffer_append(Buffer *self, const void *data, size_t size) {
- buffer_ensure_capacity(self, self->size + size);
- memcpy((char*)self->data + self->size, data, size);
- self->size += size;
-}
-
-void* buffer_pop(Buffer *self, size_t size) {
- assert(self->size >= size);
- self->size -= size;
- return (char*)self->data + self->size;
-}
-
-void* buffer_begin(Buffer *self) {
- return self->data;
-}
-
-void* buffer_end(Buffer *self) {
- return (char*)self->data + self->size;
-}
-
-size_t buffer_get_size(Buffer *self, size_t type_size) {
- return self->size / type_size;
-}