From 48ef7704c03e7e554c05de01bf8d1d70c16cb6f4 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Wed, 20 Dec 2017 16:34:35 -0500 Subject: add libc building to agbcc. --- libc/stdlib/calloc.c | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 libc/stdlib/calloc.c (limited to 'libc/stdlib/calloc.c') diff --git a/libc/stdlib/calloc.c b/libc/stdlib/calloc.c new file mode 100644 index 0000000..b6b2b5c --- /dev/null +++ b/libc/stdlib/calloc.c @@ -0,0 +1,65 @@ +/* +FUNCTION +<>---allocate space for arrays + +INDEX + calloc + +INDEX + _calloc_r + +ANSI_SYNOPSIS + #include + void *calloc(size_t <[n]>, size_t <[s]>); + void *calloc_r(void *<[reent]>, size_t , <[s]>); + +TRAD_SYNOPSIS + #include + char *calloc(<[n]>, <[s]>) + size_t <[n]>, <[s]>; + + char *_calloc_r(<[reent]>, <[n]>, <[s]>) + char *<[reent]>; + size_t <[n]>; + size_t <[s]>; + + + +DESCRIPTION +Use <> to request a block of memory sufficient to hold an +array of <[n]> elements, each of which has size <[s]>. + +The memory allocated by <> comes out of the same memory pool +used by <>, but the memory block is initialized to all zero +bytes. (To avoid the overhead of initializing the space, use +<> instead.) + +The alternate function <<_calloc_r>> is reentrant. +The extra argument <[reent]> is a pointer to a reentrancy structure. + +RETURNS +If successful, a pointer to the newly allocated space. + +If unsuccessful, <>. + +PORTABILITY +<> is ANSI. + +Supporting OS subroutines required: <>, <>, <>, +<>, <>, <>, <>. +*/ + +#include +#include + +#ifndef _REENT_ONLY + +_PTR +_DEFUN (calloc, (n, size), + size_t n _AND + size_t size) +{ + return _calloc_r (_REENT, n, size); +} + +#endif -- cgit v1.2.3