diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-01-12 11:45:43 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:08:46 -0500 |
commit | 4b73689468ebe2e25a22d73fecb1a035b2303efd (patch) | |
tree | 49737dfa133784f0a6a39b3403eb246fbb814c3a | |
parent | 287515fd3db1932f06d56da3bb388a7efc1120eb (diff) | |
download | samba-4b73689468ebe2e25a22d73fecb1a035b2303efd.tar.gz samba-4b73689468ebe2e25a22d73fecb1a035b2303efd.tar.bz2 samba-4b73689468ebe2e25a22d73fecb1a035b2303efd.zip |
r4711: - deprecate talloc_destroy()
- expanded the talloc_realloc() test a little (I was concerned about a
possible bug, which turned out to be an illusion)
- don't enable gcov by default in Makefile.talloc
(This used to be commit 4ec47cc1083c4cdb780e548177631c5914bf677a)
-rw-r--r-- | source4/lib/talloc/Makefile.talloc | 6 | ||||
-rw-r--r-- | source4/lib/talloc/talloc.h | 5 | ||||
-rw-r--r-- | source4/lib/talloc/testsuite.c | 17 |
3 files changed, 19 insertions, 9 deletions
diff --git a/source4/lib/talloc/Makefile.talloc b/source4/lib/talloc/Makefile.talloc index 88cb0e7159..a19b4ce311 100644 --- a/source4/lib/talloc/Makefile.talloc +++ b/source4/lib/talloc/Makefile.talloc @@ -1,6 +1,6 @@ -OPT = -g -ftest-coverage -fprofile-arcs -LIBS = -lgcov -#OPT = -g +#OPT = -g -ftest-coverage -fprofile-arcs +#LIBS = -lgcov +OPT = -O CFLAGS = $(OPT) -Wall diff --git a/source4/lib/talloc/talloc.h b/source4/lib/talloc/talloc.h index 3483bb9e71..607ca4ca47 100644 --- a/source4/lib/talloc/talloc.h +++ b/source4/lib/talloc/talloc.h @@ -4,7 +4,7 @@ Unix SMB/CIFS implementation. Samba temporary memory allocation functions - Copyright (C) Andrew Tridgell 2004 + Copyright (C) Andrew Tridgell 2004-2005 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -54,8 +54,6 @@ typedef void TALLOC_CTX; #define talloc_memdup(t, p, size) _talloc_memdup(t, p, size, __location__) -#define talloc_destroy(ctx) talloc_free(ctx) - #define malloc_p(type) (type *)malloc(sizeof(type)) #define malloc_array_p(type, count) (type *)realloc_array(NULL, sizeof(type), count) #define realloc_p(p, type, count) (type *)realloc_array(p, sizeof(type), count) @@ -70,6 +68,7 @@ typedef void TALLOC_CTX; #define talloc_p(ctx, type) talloc(ctx, type) #define talloc_array_p(ctx, type, count) talloc_array(ctx, type, count) #define talloc_realloc_p(ctx, p, type, count) talloc_realloc(ctx, p, type, count) +#define talloc_destroy(ctx) talloc_free(ctx) #endif #ifndef PRINTF_ATTRIBUTE diff --git a/source4/lib/talloc/testsuite.c b/source4/lib/talloc/testsuite.c index d93894b520..bc1c18fdc1 100644 --- a/source4/lib/talloc/testsuite.c +++ b/source4/lib/talloc/testsuite.c @@ -575,7 +575,7 @@ static BOOL test_realloc_child(void) int count; struct el2 { const char *name; - } **list; + } **list, **list2, **list3; } *el1; struct el2 *el2; @@ -587,11 +587,22 @@ static BOOL test_realloc_child(void) el1->list = talloc(el1, struct el2 *); el1->list[0] = talloc(el1->list, struct el2); el1->list[0]->name = talloc_strdup(el1->list[0], "testing"); + + el1->list2 = talloc(el1, struct el2 *); + el1->list2[0] = talloc(el1->list2, struct el2); + el1->list2[0]->name = talloc_strdup(el1->list2[0], "testing2"); + + el1->list3 = talloc(el1, struct el2 *); + el1->list3[0] = talloc(el1->list3, struct el2); + el1->list3[0]->name = talloc_strdup(el1->list3[0], "testing2"); el2 = talloc(el1->list, struct el2); + el2 = talloc(el1->list2, struct el2); + el2 = talloc(el1->list3, struct el2); - el1->list = talloc_realloc(el1, el1->list, struct el2 *, 2); - el1->list[1] = el2; + el1->list = talloc_realloc(el1, el1->list, struct el2 *, 100); + el1->list2 = talloc_realloc(el1, el1->list2, struct el2 *, 200); + el1->list3 = talloc_realloc(el1, el1->list3, struct el2 *, 300); talloc_free(root); |