X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmalloc%2Flite_malloc.c;h=050d84f648bcc690f97d704ce7232089b9a256f0;hb=c24a9923863fc29af4a5249727fe800224fc3c44;hp=b09f30b02e8a92c71ad2639b6c922dcbee488b82;hpb=ba819787ee93ceae94efd274f7849e317c1bff58;p=musl diff --git a/src/malloc/lite_malloc.c b/src/malloc/lite_malloc.c index b09f30b0..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,4 +46,14 @@ void *__simple_malloc(size_t n) } weak_alias(__simple_malloc, malloc); -weak_alias(__simple_malloc, malloc0); + +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);