summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/src/9/port/alloc.c9
-rw-r--r--sys/src/libc/port/calloc.c13
-rw-r--r--sys/src/libc/port/malloc.c12
-rw-r--r--sys/src/libc/port/mkfile1
4 files changed, 14 insertions, 21 deletions
diff --git a/sys/src/9/port/alloc.c b/sys/src/9/port/alloc.c
index 963d60fd2..6c3519fdf 100644
--- a/sys/src/9/port/alloc.c
+++ b/sys/src/9/port/alloc.c
@@ -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)
diff --git a/sys/src/libc/port/calloc.c b/sys/src/libc/port/calloc.c
new file mode 100644
index 000000000..b8319128f
--- /dev/null
+++ b/sys/src/libc/port/calloc.c
@@ -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;
+}
diff --git a/sys/src/libc/port/malloc.c b/sys/src/libc/port/malloc.c
index a96ff8f78..907bfa8a6 100644
--- a/sys/src/libc/port/malloc.c
+++ b/sys/src/libc/port/malloc.c
@@ -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)
{
diff --git a/sys/src/libc/port/mkfile b/sys/src/libc/port/mkfile
index dc2d93694..f3d32aaca 100644
--- a/sys/src/libc/port/mkfile
+++ b/sys/src/libc/port/mkfile
@@ -12,6 +12,7 @@ CFILES=\
atof.c\
atol.c\
atoll.c\
+ calloc.c\
cistrcmp.c\
cistrncmp.c\
cistrstr.c\