diff options
author | Rich Felker <dalias@aerifal.cx> | 2020-06-03 19:13:11 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2020-06-03 19:13:11 -0400 |
commit | fc18facf6e5a1ce344ba1f5c797cf1594f49bbd8 (patch) | |
tree | 76ce18a4c0270153783515c40ae35554f70f2943 /src/malloc/memalign.c | |
parent | d1e6fdd3674eff0e09554c7ddc431acb8925232f (diff) | |
download | musl-fc18facf6e5a1ce344ba1f5c797cf1594f49bbd8.tar.gz musl-fc18facf6e5a1ce344ba1f5c797cf1594f49bbd8.tar.xz musl-fc18facf6e5a1ce344ba1f5c797cf1594f49bbd8.zip |
rename aligned_alloc source file back to its proper name
Diffstat (limited to 'src/malloc/memalign.c')
-rw-r--r-- | src/malloc/memalign.c | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/src/malloc/memalign.c b/src/malloc/memalign.c deleted file mode 100644 index e06c76ed..00000000 --- a/src/malloc/memalign.c +++ /dev/null @@ -1,52 +0,0 @@ -#include <stdlib.h> -#include <stdint.h> -#include <errno.h> -#include "malloc_impl.h" - -void *aligned_alloc(size_t align, size_t len) -{ - unsigned char *mem, *new; - - if ((align & -align) != align) { - errno = EINVAL; - return 0; - } - - if (len > SIZE_MAX - align || __malloc_replaced) { - errno = ENOMEM; - return 0; - } - - if (align <= SIZE_ALIGN) - return malloc(len); - - if (!(mem = malloc(len + align-1))) - return 0; - - new = (void *)((uintptr_t)mem + align-1 & -align); - if (new == mem) return mem; - - struct chunk *c = MEM_TO_CHUNK(mem); - struct chunk *n = MEM_TO_CHUNK(new); - - if (IS_MMAPPED(c)) { - /* Apply difference between aligned and original - * address to the "extra" field of mmapped chunk. */ - n->psize = c->psize + (new-mem); - n->csize = c->csize - (new-mem); - return new; - } - - struct chunk *t = NEXT_CHUNK(c); - - /* Split the allocated chunk into two chunks. The aligned part - * that will be used has the size in its footer reduced by the - * difference between the aligned and original addresses, and - * the resulting size copied to its header. A new header and - * footer are written for the split-off part to be freed. */ - n->psize = c->csize = C_INUSE | (new-mem); - n->csize = t->psize -= new-mem; - - __bin_chunk(c); - return new; -} |