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.
This commit is contained in:
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\