aboutsummaryrefslogtreecommitdiff
path: root/utils.h
diff options
context:
space:
mode:
Diffstat (limited to 'utils.h')
-rw-r--r--utils.h43
1 files changed, 0 insertions, 43 deletions
diff --git a/utils.h b/utils.h
deleted file mode 100644
index 331988f..0000000
--- a/utils.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/// Dynamic memory-chunk, with (1) datatype size, (2/3) initialized / allocated
-/// chunk, (4) content
-typedef struct {
- uint8_t const elSize;
- uint32_t init, alloc;
- char *content;
-} DynamicArray;
-#define UTF8_ARRAY \
- { 4, 0, 0, NULL }
-
-static inline int p_alloc(DynamicArray *s, uint32_t amount) {
- uint32_t const diff = s->init + s->elSize * amount - s->alloc,
- nas = s->alloc + max(diff, 15) * s->elSize;
- if (s->alloc < s->init + s->elSize * amount) {
- char *tmp = realloc(s->content, nas);
- if (!tmp)
- return 0;
- s->alloc = nas, s->content = tmp;
- }
- return 1;
-}
-static inline char *view(DynamicArray *s, uint32_t i) {
- return s->content + i * s->elSize;
-}
-static inline char *end(DynamicArray *s, uint32_t i) {
- return s->content + s->init - (i + 1) * s->elSize;
-}
-static inline uint32_t getU32(DynamicArray *s, uint32_t i, int b) {
- return *((uint32_t *)(b ? view(s, i) : end(s, i)));
-}
-static char *expand(DynamicArray *s) {
- if (!p_alloc(s, 1))
- return NULL;
- s->init += s->elSize;
- return end(s, 0);
-}
-static inline void pop(DynamicArray *s) { s->init -= s->elSize; }
-static inline void empty(DynamicArray *s) { s->init = 0; }
-static inline int size(DynamicArray const *s) { return s->init / s->elSize; }
-static inline void assign(DynamicArray *s, DynamicArray const *o) {
- if (p_alloc(s, size(o)))
- memcpy(s->content, o->content, (s->init = o->init));
-}