From 5b69c0a1e90e9ad46b3c4f84176865c9a77717c5 Mon Sep 17 00:00:00 2001 From: Julian Barathieu Date: Mon, 20 Jan 2020 19:21:07 +0100 Subject: [PATCH] up --- include/libc.h | 1 + kaleid/libc/mem.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/include/libc.h b/include/libc.h index bf96d63..21a52e2 100644 --- a/include/libc.h +++ b/include/libc.h @@ -168,6 +168,7 @@ unsigned long strtoul(const char *restrict, char **restrict, int); //----------------------------------------------------------------------------// void *calloc(size_t, size_t) __attribute__((__malloc__)); +void *memalign(size_t n, size_t align) __attribute__((__malloc__)); void *malloc(size_t) __attribute__((__malloc__)); void free(void *); diff --git a/kaleid/libc/mem.c b/kaleid/libc/mem.c index 7107bd0..46772d2 100644 --- a/kaleid/libc/mem.c +++ b/kaleid/libc/mem.c @@ -46,6 +46,21 @@ void *malloc(size_t n) return ptr; } +void *memalign(size_t n, size_t align) +{ + void *ptr; + error_t rc; + +#ifndef _KALEID_KERNEL + rc = KalAllocMemoryEx(&ptr, n, 0, align); +#else + rc = KalAllocMemoryEx(&ptr, n, M_ZEROED, align); +#endif + if (rc > 0) seterrno(rc); + + return ptr; +} + void *calloc(size_t n, size_t m) { void *ptr;