diff options
author | Simo Sorce <idra@samba.org> | 2005-05-07 15:22:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:16:32 -0500 |
commit | 157a32956a111b8cffcfa8d1c62a0ca67cdc0b22 (patch) | |
tree | 744e82a946cc5d8913d9ea54a1a08800b9babcce | |
parent | e2cec76d85c8bdec63077110fc9f460c4b54b510 (diff) | |
download | samba-157a32956a111b8cffcfa8d1c62a0ca67cdc0b22.tar.gz samba-157a32956a111b8cffcfa8d1c62a0ca67cdc0b22.tar.bz2 samba-157a32956a111b8cffcfa8d1c62a0ca67cdc0b22.zip |
r6645: Add talloc_get_size() function.
Sometimes it is usefull to know this data.
Simo.
(This used to be commit df401847827ef660d8b9d55af9b27bb85bad6b5f)
-rw-r--r-- | source4/lib/talloc/talloc.c | 10 | ||||
-rw-r--r-- | source4/lib/talloc/talloc.h | 1 | ||||
-rw-r--r-- | source4/lib/talloc/talloc_guide.txt | 8 |
3 files changed, 19 insertions, 0 deletions
diff --git a/source4/lib/talloc/talloc.c b/source4/lib/talloc/talloc.c index da3a2300b0..248af6ea3e 100644 --- a/source4/lib/talloc/talloc.c +++ b/source4/lib/talloc/talloc.c @@ -1082,3 +1082,13 @@ void *talloc_autofree_context(void) } +size_t talloc_get_size(const void *context) { + struct talloc_chunk *tc; + + if (context == NULL) + return 0; + + tc = talloc_chunk_from_ptr(context); + + return tc->size; +} diff --git a/source4/lib/talloc/talloc.h b/source4/lib/talloc/talloc.h index 8b448f63c5..ab549cf624 100644 --- a/source4/lib/talloc/talloc.h +++ b/source4/lib/talloc/talloc.h @@ -126,6 +126,7 @@ void *_talloc_zero_array(const void *ctx, size_t el_size, unsigned count, const void *_talloc_realloc_array(const void *ctx, void *ptr, size_t el_size, unsigned count, const char *name); void *talloc_realloc_fn(const void *context, void *ptr, size_t size); void *talloc_autofree_context(void); +size_t talloc_get_size(const void *ctx); #endif diff --git a/source4/lib/talloc/talloc_guide.txt b/source4/lib/talloc/talloc_guide.txt index 55349ec05b..c23ac77cad 100644 --- a/source4/lib/talloc/talloc_guide.txt +++ b/source4/lib/talloc/talloc_guide.txt @@ -559,3 +559,11 @@ talloc_get_type() to do type checking on void* pointers. It is equivalent to this: talloc_set_name_const(ptr, #type) + +=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- +talloc_get_size(const void *ctx); + +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. + |