mescc: Tinycc support: calloc,malloc,realloc.
[mes.git] / mlibc / libc-mes+tcc.c
index e35875a91942b697a18f8f83b17c197c1db3c4fb..8899bc5cc205b3fc68cba21e27d64699056a80d4 100644 (file)
@@ -19,6 +19,7 @@
  */
 
 #include <libc-mes.c>
+
 #include <setjmp.h>
 #include <stdarg.h>
 #include <stdio.h>
@@ -248,3 +249,25 @@ vsnprintf (char *str, size_t size, char const *format, va_list ap)
 {
   return 0;
 }
+
+void *
+calloc (size_t nmemb, size_t size)
+{
+  size_t count = nmemb * size;
+  void *p = malloc (count);
+  memset (p, 0, count);
+  return p;
+}
+
+void *
+realloc (void *ptr, size_t size)
+{
+  void *new = malloc (size);
+  if (ptr && new)
+    {
+      memcpy (new, ptr, size);
+      free (ptr);
+    }
+  return new;
+}
+