diff options
Diffstat (limited to 'lib/memalign.c')
-rw-r--r-- | lib/memalign.c | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/lib/memalign.c b/lib/memalign.c deleted file mode 100644 index 137cc8ec..00000000 --- a/lib/memalign.c +++ /dev/null @@ -1,36 +0,0 @@ -#include <stdlib.h> -#include <assert.h> -#include <inttypes.h> - -#include "memalign.h" - -#define PTR_ALIGN(ptr, mask) \ - (char *)((uintptr_t)((ptr) + (mask)) & ~(mask)) - -struct align_footer { - unsigned int offset; -}; - -void *fio_memalign(size_t alignment, size_t size) -{ - struct align_footer *f; - void *ptr, *ret = NULL; - - assert(!(alignment & (alignment - 1))); - - ptr = malloc(size + alignment + size + sizeof(*f) - 1); - if (ptr) { - ret = PTR_ALIGN(ptr, alignment - 1); - f = ret + size; - f->offset = (uintptr_t) ret - (uintptr_t) ptr; - } - - return ret; -} - -void fio_memfree(void *ptr, size_t size) -{ - struct align_footer *f = ptr + size; - - free(ptr - f->offset); -} |