refactor: added alignment

This commit is contained in:
2026-06-08 17:53:33 -06:00
parent 4a55069171
commit 705a58b296
2 changed files with 16 additions and 11 deletions

View File

@@ -8,13 +8,18 @@ typedef struct Allocator Allocator;
Allocator allocator_default(void);
struct Allocator {
void* ctx;
void *ctx;
void* (*alloc)(void* ctx, size_t size);
void *(*alloc)(void *ctx, size_t size, size_t alignment);
void* (*realloc)(void* ctx, void* ptr, size_t old_size, size_t new_size);
void *(*realloc)(
void *ctx,
void *ptr,
size_t old_size,
size_t new_size,
size_t alignment);
void (*free)(void* ctx, void* ptr, size_t size);
void (*free)(void *ctx, void *ptr, size_t size, size_t alignment);
};
#endif

View File

@@ -1,19 +1,19 @@
#include "lae_allocator.h"
#include <stdlib.h>
static void* stdlib_alloc(void* ctx, size_t size) {
static void *stdlib_alloc(void *ctx, size_t size, size_t alignment) {
(void)ctx;
return malloc(size);
}
static void*
stdlib_realloc(void* ctx, void* ptr, size_t old_size, size_t new_size) {
static void *stdlib_realloc(
void *ctx, void *ptr, size_t old_size, size_t new_size, size_t alignment) {
(void)ctx;
(void)old_size;
return realloc(ptr, new_size);
}
static void stdlib_free(void* ctx, void* ptr, size_t size) {
static void stdlib_free(void *ctx, void *ptr, size_t size, size_t alignment) {
(void)ctx;
(void)size;
free(ptr);
@@ -21,9 +21,9 @@ static void stdlib_free(void* ctx, void* ptr, size_t size) {
Allocator allocator_default(void) {
return (Allocator){
.ctx = NULL,
.alloc = stdlib_alloc,
.ctx = NULL,
.alloc = stdlib_alloc,
.realloc = stdlib_realloc,
.free = stdlib_free,
.free = stdlib_free,
};
}