source: branches/libc-0.6/src/binutils/libiberty/calloc.c

Last change on this file was 610, checked in by bird, 22 years ago

This commit was generated by cvs2svn to compensate for changes in r609,
which included commits to RCS files with non-trunk default branches.

  • Property cvs2svn:cvs-rev set to 1.1.1.2
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 807 bytes
Line 
1/* calloc -- allocate memory which has been initialized to zero.
2 This function is in the public domain. */
3
4/*
5
6@deftypefn Supplemental void* calloc (size_t @var{nelem}, size_t @var{elsize})
7
8Uses @code{malloc} to allocate storage for @var{nelem} objects of
9@var{elsize} bytes each, then zeros the memory.
10
11@end deftypefn
12
13*/
14
15#include "ansidecl.h"
16#ifdef ANSI_PROTOTYPES
17#include <stddef.h>
18#else
19#define size_t unsigned long
20#endif
21
22/* For systems with larger pointers than ints, this must be declared. */
23PTR malloc PARAMS ((size_t));
24void bzero PARAMS ((PTR, size_t));
25
26PTR
27calloc (nelem, elsize)
28 size_t nelem, elsize;
29{
30 register PTR ptr;
31
32 if (nelem == 0 || elsize == 0)
33 nelem = elsize = 1;
34
35 ptr = malloc (nelem * elsize);
36 if (ptr) bzero (ptr, nelem * elsize);
37
38 return ptr;
39}
Note: See TracBrowser for help on using the repository browser.