From 4d7b95f7d2ddf5f4901a871178c59b55ab042551 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Wed, 31 Jul 2002 02:09:37 +0000 Subject: (MALLOC_HEADER_SIZE): New macro. (MALLOC_BASE, MALLOC_ADDR): Use it. --- libc/stdlib/malloc/malloc.h | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libc/stdlib') diff --git a/libc/stdlib/malloc/malloc.h b/libc/stdlib/malloc/malloc.h index 8abc9ed4f..193dabd64 100644 --- a/libc/stdlib/malloc/malloc.h +++ b/libc/stdlib/malloc/malloc.h @@ -52,17 +52,21 @@ ^ ADDR - MALLOC_ALIGN */ +/* The amount of extra space used by the malloc header. */ +#define MALLOC_HEADER_SIZE MALLOC_ALIGNMENT + /* Return base-address of a malloc allocation, given the user address. */ -#define MALLOC_BASE(addr) ((void *)((char *)addr - MALLOC_ALIGNMENT)) +#define MALLOC_BASE(addr) ((void *)((char *)addr - MALLOC_HEADER_SIZE)) /* Return the size of a malloc allocation, given the user address. */ #define MALLOC_SIZE(addr) (*(size_t *)MALLOC_BASE(addr)) /* Sets the size of a malloc allocation, given the user address. */ #define MALLOC_SET_SIZE(addr, size) (*(size_t *)MALLOC_BASE(addr) = (size)) /* Return the user address of a malloc allocation, given the base address. */ -#define MALLOC_ADDR(base) ((void *)((char *)base + MALLOC_ALIGNMENT)) +#define MALLOC_ADDR(base) ((void *)((char *)base + MALLOC_HEADER_SIZE)) +/* Locking for multithreaded apps. */ #ifdef __UCLIBC_HAS_THREADS__ # include -- cgit v1.2.3