ack/lang/cem/libcc/gen/calloc.c

18 lines
377 B
C
Raw Normal View History

1987-03-31 10:45:53 +00:00
/* $Header$ */
#define ALIGN(sz) ((((sz) + (sizeof(long) - 1)) / sizeof(long)) * sizeof(long))
1987-01-27 15:57:55 +00:00
char *
calloc(nelem, elsize)
unsigned int nelem, elsize;
{
register char *p;
register long *q;
unsigned int size = ALIGN(nelem * elsize);
extern char *malloc();
p = malloc(size);
if (p == 0) return 0;
q = (long *) (p + size);
while ((char *) q > p) *--q = 0;
return p;
}