From: Rusty Russell Date: Tue, 18 Jan 2011 00:36:23 +0000 (+1030) Subject: talloc: talloc_array_length() X-Git-Url: http://git.ozlabs.org/?p=ccan;a=commitdiff_plain;h=e70eae05572ae0e7ae119ad02b278f73d4c583dc;hp=8ffd9b98c7f87177445a86e65334e5ad1d66a8af talloc: talloc_array_length() I originally called this talloc_length(), but SAMBA upstream uses talloc_array_length. --- diff --git a/ccan/talloc/talloc.h b/ccan/talloc/talloc.h index 5263b9fe..59c132ed 100644 --- a/ccan/talloc/talloc.h +++ b/ccan/talloc/talloc.h @@ -252,7 +252,7 @@ int talloc_free(const void *ptr); * b = talloc_array(a, unsigned int, 100); * * See Also: - * talloc, talloc_zero_array + * talloc, talloc_zero_array, talloc_array_length */ #define talloc_array(ctx, type, count) (type *)_talloc_array(ctx, sizeof(type), count, #type) @@ -936,12 +936,25 @@ void talloc_enable_leak_report_full(void); void *talloc_autofree_context(void); /** - * talloc_get_size - get the size of an allocation + * talloc_array_length - get the number of elements in a talloc array + * @p: the talloc pointer whose allocation to measure. + * + * This assumes that @p has been allocated as the same type. NULL returns 0. + * + * See Also: + * talloc_get_size + */ +#define talloc_array_length(p) (talloc_get_size(p) / sizeof((*p))) + +/** + * talloc_get_size - get the requested size of an allocation * @ctx: the talloc pointer whose allocation to measure. * * This function lets you know the amount of memory alloced so far by this - * context. It does NOT account for subcontext memory. This can be used to - * calculate the size of an array. + * context. It does NOT account for subcontext memory. + * + * See Also: + * talloc_array_length */ size_t talloc_get_size(const void *ctx);