summaryrefslogtreecommitdiff
path: root/source3/libaddns
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2007-04-29 00:09:22 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:19:45 -0500
commit4ab6a8ebb70bbd5d69ad1dc6196c936f01f5aaf7 (patch)
tree1133d8d9b8cb27fae44c127a646630325b5ca2cb /source3/libaddns
parente26dee48f079f429690584aa2666f498e08e6810 (diff)
downloadsamba-4ab6a8ebb70bbd5d69ad1dc6196c936f01f5aaf7.tar.gz
samba-4ab6a8ebb70bbd5d69ad1dc6196c936f01f5aaf7.tar.bz2
samba-4ab6a8ebb70bbd5d69ad1dc6196c936f01f5aaf7.zip
r22564: Move the _strict -> _zeronull functions into lib/util.c
and out of talloc at tridge's request. Jeremy. (This used to be commit da78488b86c464b6861d36398cca7524ad5906fe)
Diffstat (limited to 'source3/libaddns')
-rw-r--r--source3/libaddns/dns.h23
1 files changed, 16 insertions, 7 deletions
diff --git a/source3/libaddns/dns.h b/source3/libaddns/dns.h
index bbc4b68656..4862a23b3d 100644
--- a/source3/libaddns/dns.h
+++ b/source3/libaddns/dns.h
@@ -88,16 +88,25 @@
#include <talloc.h>
-#define TALLOC(ctx, size) talloc_strict(ctx, size, __location__)
-#define TALLOC_P(ctx, type) (type *)talloc_strict(ctx, sizeof(type), #type)
-#define TALLOC_ARRAY(ctx, type, count) (type *)_talloc_array_strict(ctx, sizeof(type), count, #type)
-#define TALLOC_MEMDUP(ctx, ptr, size) _talloc_memdup_strict(ctx, ptr, size, __location__)
-#define TALLOC_ZERO(ctx, size) _talloc_zero_strict(ctx, size, __location__)
-#define TALLOC_ZERO_P(ctx, type) (type *)_talloc_zero_strict(ctx, sizeof(type), #type)
-#define TALLOC_ZERO_ARRAY(ctx, type, count) (type *)_talloc_zero_array_strict(ctx, sizeof(type), count, #type)
+void *_talloc_zero_zeronull(const void *ctx, size_t size, const char *name);
+void *_talloc_memdup_zeronull(const void *t, const void *p, size_t size, const char *name);
+void *_talloc_array_zeronull(const void *ctx, size_t el_size, unsigned count, const char *name);
+void *_talloc_zero_array_zeronull(const void *ctx, size_t el_size, unsigned count, const char *name);
+void *talloc_zeronull(const void *context, size_t size, const char *name);
+
+#define TALLOC(ctx, size) talloc_zeronull(ctx, size, __location__)
+#define TALLOC_P(ctx, type) (type *)talloc_zeronull(ctx, sizeof(type), #type)
+#define TALLOC_ARRAY(ctx, type, count) (type *)_talloc_array_zeronull(ctx, sizeof(type), count, #type)
+#define TALLOC_MEMDUP(ctx, ptr, size) _talloc_memdup_zeronull(ctx, ptr, size, __location__)
+#define TALLOC_ZERO(ctx, size) _talloc_zero_zeronull(ctx, size, __location__)
+#define TALLOC_ZERO_P(ctx, type) (type *)_talloc_zero_zeronull(ctx, sizeof(type), #type)
+#define TALLOC_ZERO_ARRAY(ctx, type, count) (type *)_talloc_zero_array_zeronull(ctx, sizeof(type), count, #type)
#define TALLOC_REALLOC(ctx, ptr, count) _talloc_realloc(ctx, ptr, count, __location__)
#define TALLOC_REALLOC_ARRAY(ctx, ptr, type, count) (type *)_talloc_realloc_array(ctx, ptr, sizeof(type), count, #type)
+#define talloc_destroy(ctx) talloc_free(ctx)
#define TALLOC_FREE(ctx) do { if ((ctx) != NULL) {talloc_free(ctx); ctx=NULL;} } while(0)
+#define TALLOC_SIZE(ctx, size) talloc_zeronull(ctx, size, __location__)
+#define TALLOC_ZERO_SIZE(ctx, size) _talloc_zero_zeronull(ctx, size, __location__)
/*******************************************************************
Type definitions for int16, int32, uint16 and uint32. Needed