scc

simple c99 compiler
git clone git://git.simple-cc.org/scc
Log | Files | Refs | Submodules | README | LICENSE

calloc.c (335B)


      1 #include <stdlib.h>
      2 #include <string.h>
      3 #include <stdint.h>
      4 
      5 #undef calloc
      6 
      7 void *
      8 calloc(size_t nmemb, size_t size)
      9 {
     10 	size_t nbytes;
     11 	void *mem;
     12 
     13 	if (!nmemb || !size || nmemb > SIZE_MAX/size)
     14                 return NULL;
     15 
     16 	nbytes = nmemb * size;
     17 	if ((mem = malloc(nbytes)) == NULL)
     18 		return NULL;
     19 	return memset(mem, 0, nbytes);
     20 }