#include "malloc.h" #include #include void* __calloc_impl(heap_cache_t *cache, size_t nmemb, size_t w) { w = REALW(w); void *ptr = __malloc_impl(cache, w * nmemb); if(ptr == NULL) return NULL; if(errno != 0) return (void*)-1; /* Zero newly allocated memory as per spec.*/ memset(ptr, 0, w * nmemb); return ptr; }