libc: move calloc() into its own compilation unit

move calloc() in its own compilation unit to avoid
code duplication. also, calloc() is used rarely in
plan9 programs.
front
cinap_lenrek 2016-11-05 18:00:10 +01:00
parent bf9bada0c2
commit 5c1feb0ef0
4 changed files with 14 additions and 21 deletions

View File

@ -286,15 +286,6 @@ msize(void *v)
return poolmsize(mainmem, (ulong*)v-Npadlong)-Npadlong*sizeof(ulong);
}
void*
calloc(ulong n, ulong szelem)
{
void *v;
if(v = mallocz(n*szelem, 1))
setmalloctag(v, getcallerpc(&n));
return v;
}
/* secret memory, used to back cryptographic keys and cipher states */
void*
secalloc(ulong size)

View File

@ -0,0 +1,13 @@
#include <u.h>
#include <libc.h>
void*
calloc(ulong n, ulong s)
{
void *v;
if(n > 1 && ((ulong)-1)/n < s)
return nil;
if(v = mallocz(n*s, 1))
setmalloctag(v, getcallerpc(&n));
return v;
}

View File

@ -279,18 +279,6 @@ msize(void *v)
return poolmsize(mainmem, (ulong*)v-Npadlong)-Npadlong*sizeof(ulong);
}
void*
calloc(ulong n, ulong s)
{
void *v;
if(n > 1 && ((ulong)-1)/n < s)
return nil;
if(v = mallocz(n*s, 1))
setmalloctag(v, getcallerpc(&n));
return v;
}
void
setmalloctag(void *v, uintptr pc)
{

View File

@ -12,6 +12,7 @@ CFILES=\
atof.c\
atol.c\
atoll.c\
calloc.c\
cistrcmp.c\
cistrncmp.c\
cistrstr.c\