date and time created 80/12/21 16:39:29 by wnj
[unix-history] / usr / src / lib / libc / stdlib / calloc.c
CommitLineData
18a0be3d
BJ
1/* @(#)calloc.c 4.1 (Berkeley) %G% */
2/* calloc - allocate and clear memory block
3*/
4#define CHARPERINT (sizeof(int)/sizeof(char))
5#define NULL 0
6
7char *
8calloc(num, size)
9unsigned num, size;
10{
11 register char *mp;
12 char *malloc();
13 register int *q;
14 register m;
15
16 num *= size;
17 mp = malloc(num);
18 if(mp == NULL)
19 return(NULL);
20 q = (int *) mp;
21 m = (num+CHARPERINT-1)/CHARPERINT;
22 while(--m>=0)
23 *q++ = 0;
24 return(mp);
25}
26
27cfree(p, num, size)
28char *p;
29unsigned num, size;
30{
31 free(p);
32}