void *calloc(size_t nmemb, size_t size)
{
- size_t total_size = nmemb * size;
xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
LOCK(mdp);
- void *ret = mmalloc(mdp, total_size);
+ void *ret = mcalloc(mdp, nmemb,size);
UNLOCK(mdp);
- /* Fill the allocated memory with zeroes to mimic calloc behaviour */
- memset(ret, '\0', total_size);
-
return ret;
}
xbt_mheap_t mdp = __mmalloc_current_heap ?: (xbt_mheap_t) mmalloc_preinit();
LOCK(mdp);
- if (s) {
- if (p)
- ret = mrealloc(mdp, p, s);
- else
- ret = mmalloc(mdp, s);
- } else {
- mfree(mdp, p);
- }
+ ret = mrealloc(mdp, p, s);
UNLOCK(mdp);
return ret;
if (size == 0) {
mfree(mdp, ptr);
- return (mmalloc(mdp, 0));
+ return mmalloc(mdp, 0);
} else if (ptr == NULL) {
- return (mmalloc(mdp, size));
+ return mmalloc(mdp, size);
}