aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRené Scharfe <l.s.r@web.de>2023-12-24 18:02:04 +0100
committerJunio C Hamano <gitster@pobox.com>2023-12-28 12:22:58 -0800
commitc61740d6078b6da6219779844cfdd74ed430fb80 (patch)
treec57b1ce285c09fd5d5d36167778de2304306e441
parent6cbae640006c3a9e1bb22654a8def7f4bef775b3 (diff)
downloadgit-c61740d6078b6da6219779844cfdd74ed430fb80.tar.xz
mem-pool: simplify alignment calculation
Use DIV_ROUND_UP in mem_pool_alloc() to round the allocation length to the next multiple of GIT_MAX_ALIGNMENT instead of twiddling bits explicitly. This is shorter and clearer, to the point that we no longer need the comment that explains what's being calculated. Signed-off-by: René Scharfe <l.s.r@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rw-r--r--mem-pool.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/mem-pool.c b/mem-pool.c
index e8d976c3ee..c7d6256020 100644
--- a/mem-pool.c
+++ b/mem-pool.c
@@ -89,9 +89,7 @@ void *mem_pool_alloc(struct mem_pool *pool, size_t len)
struct mp_block *p = NULL;
void *r;
- /* round up to a 'GIT_MAX_ALIGNMENT' alignment */
- if (len & (GIT_MAX_ALIGNMENT - 1))
- len += GIT_MAX_ALIGNMENT - (len & (GIT_MAX_ALIGNMENT - 1));
+ len = DIV_ROUND_UP(len, GIT_MAX_ALIGNMENT) * GIT_MAX_ALIGNMENT;
if (pool->mp_block &&
pool->mp_block->end - pool->mp_block->next_free >= len)