summaryrefslogtreecommitdiff
path: root/source4/lib/talloc
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-01-11 15:38:25 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:08:43 -0500
commit90d65c2e85c8042391b8219eeaedd780e6eb3c7c (patch)
tree7c3238263367eb20d71f94328c67ee39fa62b6be /source4/lib/talloc
parent8ac3838d19d88842cf7c276637e9896b3cc1351b (diff)
downloadsamba-90d65c2e85c8042391b8219eeaedd780e6eb3c7c.tar.gz
samba-90d65c2e85c8042391b8219eeaedd780e6eb3c7c.tar.bz2
samba-90d65c2e85c8042391b8219eeaedd780e6eb3c7c.zip
r4689: - make talloc_report_depth() public
- add talloc_parent() to return the parent context of a pointer these are very use full for debuging metze (This used to be commit 9b9501bc03ef8d4b53049f6b3531d06ed7ef7f89)
Diffstat (limited to 'source4/lib/talloc')
-rw-r--r--source4/lib/talloc/talloc.c8
-rw-r--r--source4/lib/talloc/talloc.h2
2 files changed, 9 insertions, 1 deletions
diff --git a/source4/lib/talloc/talloc.c b/source4/lib/talloc/talloc.c
index 6d11cb00e9..4c8cc31028 100644
--- a/source4/lib/talloc/talloc.c
+++ b/source4/lib/talloc/talloc.c
@@ -140,6 +140,12 @@ static struct talloc_chunk *talloc_parent_chunk(const void *ptr)
return tc->parent;
}
+void *talloc_parent(const void *ptr)
+{
+ struct talloc_chunk *tc = talloc_parent_chunk(ptr);
+ return (void *)(tc+1);
+}
+
/*
Allocate a bit of memory as a child of an existing pointer
*/
@@ -695,7 +701,7 @@ static int talloc_reference_count(const void *ptr)
/*
report on memory usage by all children of a pointer, giving a full tree view
*/
-static void talloc_report_depth(const void *ptr, FILE *f, int depth)
+void talloc_report_depth(const void *ptr, FILE *f, int depth)
{
struct talloc_chunk *c, *tc = talloc_chunk_from_ptr(ptr);
diff --git a/source4/lib/talloc/talloc.h b/source4/lib/talloc/talloc.h
index cf03ce5952..3483bb9e71 100644
--- a/source4/lib/talloc/talloc.h
+++ b/source4/lib/talloc/talloc.h
@@ -89,6 +89,8 @@ void *talloc_named(const void *context, size_t size,
const char *fmt, ...) PRINTF_ATTRIBUTE(3,4);
void *talloc_named_const(const void *context, size_t size, const char *name);
const char *talloc_get_name(const void *ptr);
+void talloc_report_depth(const void *ptr, FILE *f, int depth);
+void *talloc_parent(const void *ptr);
void *talloc_init(const char *fmt, ...) PRINTF_ATTRIBUTE(1,2);
int talloc_free(void *ptr);
void *_talloc_realloc(const void *context, void *ptr, size_t size, const char *name);