refactor: added alignment
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user