X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmalloc%2Fmalloc_usable_size.c;h=672b518ad0ef15d9b3ad19a0538c6490aa88ca63;hb=f9895817321790bef33a56e3b10f3f71d989c23e;hp=8cccd9d8d68b2e4fc6a230a7e9f0537a60c2353a;hpb=8d998a7b3b741304df860b5dc843826257633237;p=musl diff --git a/src/malloc/malloc_usable_size.c b/src/malloc/malloc_usable_size.c index 8cccd9d8..672b518a 100644 --- a/src/malloc/malloc_usable_size.c +++ b/src/malloc/malloc_usable_size.c @@ -1,17 +1,9 @@ #include - -void *(*const __realloc_dep)(void *, size_t) = realloc; - -struct chunk { - size_t psize, csize; - struct chunk *next, *prev; -}; - -#define OVERHEAD (2*sizeof(size_t)) -#define CHUNK_SIZE(c) ((c)->csize & -2) -#define MEM_TO_CHUNK(p) (struct chunk *)((char *)(p) - OVERHEAD) +#include "malloc_impl.h" + +hidden void *(*const __realloc_dep)(void *, size_t) = realloc; size_t malloc_usable_size(void *p) { - return CHUNK_SIZE(MEM_TO_CHUNK(p)) - OVERHEAD; + return p ? CHUNK_SIZE(MEM_TO_CHUNK(p)) - OVERHEAD : 0; }