From 13fab67995a0b836b92847536768703dac391b57 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 31 Mar 2011 16:51:40 +0200 Subject: talloc: add TC_POOL_SPACE_LEFT() macro metze Signed-off-By: Andrew Tridgell --- lib/talloc/talloc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lib') diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c index 867705fdf4..8caa6837bb 100644 --- a/lib/talloc/talloc.c +++ b/lib/talloc/talloc.c @@ -333,6 +333,10 @@ _PUBLIC_ const char *talloc_parent_name(const void *ptr) #define TALLOC_POOL_HDR_SIZE 16 +#define TC_POOL_SPACE_LEFT(_pool_tc) \ + PTR_DIFF(TC_HDR_SIZE + (_pool_tc)->size + (char *)(_pool_tc), \ + (_pool_tc)->pool) + static unsigned int *talloc_pool_objectcount(struct talloc_chunk *tc) { return (unsigned int *)((char *)tc + TC_HDR_SIZE); @@ -365,8 +369,7 @@ static struct talloc_chunk *talloc_alloc_pool(struct talloc_chunk *parent, return NULL; } - space_left = ((char *)pool_ctx + TC_HDR_SIZE + pool_ctx->size) - - ((char *)pool_ctx->pool); + space_left = TC_POOL_SPACE_LEFT(pool_ctx); /* * Align size to 16 bytes -- cgit