X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fmalloc%2Flite_malloc.c;h=050d84f648bcc690f97d704ce7232089b9a256f0;hb=c00cdefa1da17f60b3179704528582ef320e61b8;hp=008549d6d03c82f827411400f7e2733d016917a6;hpb=e3bc22f1eff87b8f029a6ab31f1a269d69e4b053;p=musl diff --git a/src/malloc/lite_malloc.c b/src/malloc/lite_malloc.c index 008549d6..050d84f6 100644 --- a/src/malloc/lite_malloc.c +++ b/src/malloc/lite_malloc.c @@ -2,16 +2,15 @@ #include #include #include -#include "libc.h" +#include "lock.h" +#include "malloc_impl.h" #define ALIGN 16 -void *__expand_heap(size_t *); - -void *__simple_malloc(size_t n) +static void *__simple_malloc(size_t n) { static char *cur, *end; - static volatile int lock[2]; + static volatile int lock[1]; size_t align=1, pad; void *p; @@ -47,3 +46,14 @@ void *__simple_malloc(size_t n) } weak_alias(__simple_malloc, malloc); + +static void *__simple_calloc(size_t m, size_t n) +{ + if (n && m > (size_t)-1/n) { + errno = ENOMEM; + return 0; + } + return __simple_malloc(n * m); +} + +weak_alias(__simple_calloc, calloc);