diff options
Diffstat (limited to 'Source/charon/allocator.h')
-rw-r--r-- | Source/charon/allocator.h | 23 |
1 files changed, 6 insertions, 17 deletions
diff --git a/Source/charon/allocator.h b/Source/charon/allocator.h index fdc2b1f9e..e0611b843 100644 --- a/Source/charon/allocator.h +++ b/Source/charon/allocator.h @@ -26,6 +26,7 @@ #include <stdlib.h> #include <stddef.h> +#include <string.h> #include "types.h" @@ -210,25 +211,13 @@ #define report_memory_leaks(void) (global_allocator->report_memory_leaks(global_allocator)) #else #define allocator_alloc(bytes) (malloc(bytes)) - #define allocator_alloc_as_chunk(bytes){\ - chunk_t new_chunk; \ - new_chunk.ptr = malloc(bytes); \ - new_chunk.len = (new_chunk.ptr == NULL) ? 0 : bytes; \ - return new_chunk; \ - } + + chunk_t allocator_alloc_as_chunk(size_t bytes); + #define allocator_realloc(old,bytes) (realloc(old,bytes)) #define allocator_free(pointer) (free(pointer)) - #define allocator_clone_bytes(pointer,size){\ - void *new_data = malloc(size)\ - if (new_data == NULL) return NULL; \ - memcpy(new_data,pointer,size)\ - return new_data; \ - } - #define allocator_free_chunk(chunk){ \ - free(chunk.ptr); \ - chunk.ptr = NULL; \ - chunk.len = 0; \ - } + void * allocator_clone_bytes(void * pointer, size_t size); + void allocator_free_chunk(chunk_t chunk); #define report_memory_leaks(void) {} #endif |