OpenCores
URL https://opencores.org/ocsvn/open8_urisc/open8_urisc/trunk

Subversion Repositories open8_urisc

[/] [open8_urisc/] [trunk/] [gnu/] [binutils/] [libiberty/] [calloc.c] - Rev 317

Go to most recent revision | Compare with Previous | Blame | View Log

/* calloc -- allocate memory which has been initialized to zero.
   This function is in the public domain. */
 
/*
 
@deftypefn Supplemental void* calloc (size_t @var{nelem}, size_t @var{elsize})
 
Uses @code{malloc} to allocate storage for @var{nelem} objects of
@var{elsize} bytes each, then zeros the memory.
 
@end deftypefn
 
*/
 
#include "ansidecl.h"
#include <stddef.h>
 
/* For systems with larger pointers than ints, this must be declared.  */
PTR malloc (size_t);
void bzero (PTR, size_t);
 
PTR
calloc (size_t nelem, size_t elsize)
{
  register PTR ptr;  
 
  if (nelem == 0 || elsize == 0)
    nelem = elsize = 1;
 
  ptr = malloc (nelem * elsize);
  if (ptr) bzero (ptr, nelem * elsize);
 
  return ptr;
}
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.