commit 0566b8f493dd227135d1102403999fccef3683ce
parent 4d9aedf0e1c5091570233b29d270d3127bbffcb5
Author: vaplv <vaplv@free.fr>
Date: Wed, 6 Nov 2013 15:46:10 +0100
Slight changes on the mem_allocator API
Diffstat:
2 files changed, 37 insertions(+), 35 deletions(-)
diff --git a/src/mem_allocator.c b/src/mem_allocator.c
@@ -19,9 +19,9 @@ struct alloc_counter {
static void*
default_alloc
(void* data,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
void* mem = NULL;
@@ -69,10 +69,10 @@ default_free(void* data, void* mem)
static void*
default_calloc
(void* data,
- size_t nbelmts,
- size_t size,
+ const size_t nbelmts,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
void* mem = NULL;
const size_t alloc_size = nbelmts * size;
@@ -88,9 +88,9 @@ static void*
default_realloc
(void* data,
void* mem,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
void* new_mem = NULL;
@@ -125,10 +125,10 @@ default_realloc
static void*
default_aligned_alloc
(void* data,
- size_t size,
- size_t alignment,
+ const size_t size,
+ const size_t alignment,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
void* mem = NULL;
@@ -222,15 +222,16 @@ struct mem_node {
static void*
proxy_aligned_alloc
(void* data,
- size_t size,
- size_t align,
+ const size_t size,
+ const size_t align,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
struct proxy_data* proxy_data = NULL;
char* mem = NULL;
size_t node_header_size = 0;
size_t node_size = 0;
+ size_t align_adjusted = 0;
struct mem_node* node = NULL;
ASSERT(data);
@@ -238,17 +239,18 @@ proxy_aligned_alloc
if((IS_POWER_OF_2(align) == 0) || align > 32768)
return NULL;
- align = align < PROXY_DEFAULT_ALIGNMENT ? PROXY_DEFAULT_ALIGNMENT : align;
+ align_adjusted = align < PROXY_DEFAULT_ALIGNMENT
+ ? PROXY_DEFAULT_ALIGNMENT : align;
- node_header_size = ALIGN_SIZE(sizeof(struct mem_node), align);
+ node_header_size = ALIGN_SIZE(sizeof(struct mem_node), align_adjusted);
node_size = node_header_size + size;
- node = MEM_ALIGNED_ALLOC(proxy_data->allocator, node_size, align);
+ node = MEM_ALIGNED_ALLOC(proxy_data->allocator, node_size, align_adjusted);
if(!node)
return NULL;
mem = (char*)((uintptr_t)node + (uintptr_t)node_header_size);
- mem[-1] = (char)(align & 0xFF);
- mem[-2] = (char)((align >> 8) & 0xFF);
+ mem[-1] = (char)(align_adjusted & 0xFF);
+ mem[-2] = (char)((align_adjusted >> 8) & 0xFF);
node->next = proxy_data->node_list;
node->prev = NULL;
node->filename = filename;
@@ -263,9 +265,9 @@ proxy_aligned_alloc
static void*
proxy_alloc
(void* data,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
return proxy_aligned_alloc
(data, size, PROXY_DEFAULT_ALIGNMENT, filename, fileline);
@@ -274,10 +276,10 @@ proxy_alloc
static void*
proxy_calloc
(void* data,
- size_t nbelmts,
- size_t size,
+ const size_t nbelmts,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
size_t allocation_size = nbelmts * size;
void* mem = proxy_aligned_alloc
@@ -319,9 +321,9 @@ static void*
proxy_realloc
(void* data,
void* mem,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline)
+ const unsigned int fileline)
{
if(size == 0) {
proxy_free(data, mem);
diff --git a/src/mem_allocator.h b/src/mem_allocator.h
@@ -10,30 +10,30 @@
struct mem_allocator {
void* (*alloc)
(void* data,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline);
+ const unsigned int fileline);
void* (*calloc)
(void* data,
- size_t nbelmts,
- size_t size,
+ const size_t nbelmts,
+ const size_t size,
const char* filename,
- unsigned int fileline);
+ const unsigned int fileline);
void* (*realloc)
(void* data,
void* mem,
- size_t size,
+ const size_t size,
const char* filename,
- unsigned int fileline);
+ const unsigned int fileline);
void* (*aligned_alloc)
(void* data,
- size_t size,
- size_t alignment,
+ const size_t size,
+ const size_t alignment,
const char* filename,
- unsigned int fileline);
+ const unsigned int fileline);
void (*free)
(void* data,