#define MALLOC_MAX 0x40000000
-void *_new_array(unsigned int size, unsigned long num)
+void *_new_array(unsigned long num, unsigned int size, int use_calloc)
{
if (num >= MALLOC_MAX/size)
return NULL;
- return malloc(size * num);
+ return use_calloc ? calloc(num, size) : malloc(num * size);
}
void *_realloc_array(void *ptr, unsigned int size, unsigned long num)