From fd67b2b01b762ecebe8bcc3666db0732774d4d54 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Sun, 17 May 2026 22:41:13 +0200 Subject: Simplify alignment calculation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- libar2simplified_init_context.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/libar2simplified_init_context.c b/libar2simplified_init_context.c index 6a5cb88..814e182 100644 --- a/libar2simplified_init_context.c +++ b/libar2simplified_init_context.c @@ -51,8 +51,9 @@ alignedalloc(size_t num, size_t size, size_t extra, size_t alignment) static void * allocate(size_t num, size_t size, size_t alignment, struct libar2_context *ctx) { - size_t pad = (alignment - ((2 * sizeof(size_t)) & (alignment - 1))) & (alignment - 1); - char *ptr = alignedalloc(num, size, pad + 2 * sizeof(size_t), alignment); + size_t extra = 2 * sizeof(size_t); + size_t pad = -extra & (alignment - 1); + char *ptr = alignedalloc(num, size, pad + extra, alignment); if (ptr) { ptr += pad; memcpy(ptr, &pad, sizeof(size_t)); -- cgit v1.3.1