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