/* from the TOS GCC library */ /* malloc, free, realloc: dynamic memory allocation */ /* 5/2/92 sb -- modified for Heat-n-Serve C to accomodate its 16-bit size_t */ /* 5/5/92 sb -- calloc() gets its own file to reduce library drag */ #include #include /* for size_t */ #include #include __EXTERN void *_malloc __PROTO((unsigned long)); __EXTERN void _bzero __PROTO((void *, unsigned long)); __EXTERN void *_calloc __PROTO((unsigned long, unsigned long)); #ifdef __GNUC__ asm(".stabs \"_calloc\",5,0,0,__calloc"); /* dept of clean tricks */ #endif void * _calloc(n, sz) unsigned long n, sz; { void *r; unsigned long total; extern void _bzero(); total = n * sz; if ((r = _malloc(total)) != NULL) { _bzero(r, total); } return(r); } #ifndef __GNUC__ void * calloc(n, sz) size_t n, sz; { return _calloc((unsigned long) n, (unsigned long) sz); } #endif