Sfoglia il codice sorgente

(MALLOC_HEADER_SIZE): New macro.
(MALLOC_BASE, MALLOC_ADDR): Use it.

Miles Bader 23 anni fa
parent
commit
4d7b95f7d2
1 ha cambiato i file con 6 aggiunte e 2 eliminazioni
  1. 6 2
      libc/stdlib/malloc/malloc.h

+ 6 - 2
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 <pthread.h>