github.com/afumu/libc@v0.0.6/musl/src/malloc/mallocng/malloc_usable_size.c (about)

     1  #include <stdlib.h>
     2  #include "meta.h"
     3  
     4  size_t malloc_usable_size(void *p)
     5  {
     6  	struct meta *g = get_meta(p);
     7  	int idx = get_slot_index(p);
     8  	size_t stride = get_stride(g);
     9  	unsigned char *start = g->mem->storage + stride*idx;
    10  	unsigned char *end = start + stride - IB;
    11  	return get_nominal_size(p, end);
    12  }