#include <malloc.h> #include <string.h> #include <stdlib.h> void *__realloc_core(void *memblock, size_t size) { size_t oldsize; void* newblock; if (memblock) oldsize = msize(memblock); else oldsize = 0; newblock = malloc(size); if (memblock && newblock) memcpy(newblock, memblock, min(size, oldsize)); free(memblock); return newblock; }