From 3be992e3f45dcfd9f8a45fa447de3abb710819b7 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 20 Aug 2026 16:04:41 +0000 Subject: Adapt a different coding style (no typedef'ed structs, C90...), and start working on a test setup. FossilOrigin-Name: ebb73df5fc58859b6e985c5ec84196bdd09f639dbcdc69e706f6b17652a2d413 --- src/memory.c | 46 +++++++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 17 deletions(-) (limited to 'src/memory.c') diff --git a/src/memory.c b/src/memory.c index c2216b2..622bb0b 100644 --- a/src/memory.c +++ b/src/memory.c @@ -1,42 +1,54 @@ #include -Memory +struct memory memory_init(uint8_t *data , size_t size) { - Memory mem = { - .data = data, - .size = size, - .offset = 0, - }; + struct memory mem; + + mem.data = data; + mem.size = size; + mem.offset = 0; return mem; } static void * -alloc(Memory *m, size_t size, size_t align) +alloc(struct memory *m, size_t size, size_t align) { - uintptr_t ptr = (uintptr_t)m->data; - size_t alloc_size = size; - if((ptr % align) != 0) - alloc_size += align - (ptr % align); + uintptr_t ptr; + size_t alloc_size, adjust; + void *p; + + ptr = (uintptr_t)m->data; + alloc_size = size; + + if(NEVER(align == 0)) + return NULL; + adjust = ptr % align; + + if(adjust) + alloc_size += align - adjust; - void *p = NULL; if((m->size - m->offset) >= alloc_size){ p = m->data+m->offset+alloc_size-size; m->offset += alloc_size; memset(p, 0, size); - } + }else + p = NULL; + return p; } -Aplwc * -memory_alloc_aplwc(Memory *m) +struct aplwc * +memory_alloc_aplwc(struct memory *m) { - Aplwc *p = alloc(m, sizeof(Aplwc), alignof(Aplwc)); + struct aplwc *p; + + p = alloc(m, sizeof(struct aplwc), alignof(struct aplwc)); return p; } void -memory_free_aplwc(Memory *m, Aplwc *p) +memory_free_aplwc(struct memory *m, struct aplwc *p) { UNUSED_PARAMETER(m); UNUSED_PARAMETER(p); -- cgit v1.2.3