From 600144050ce8e4515937c87be8d2c86c2c337364 Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Wed, 25 Aug 2004 02:07:20 +0000 Subject: r2039: got rid of the free() ptr in DATA_BLOB I plan on replacing the concept by adding a generic destructor in all talloc ptrs, so you can do: talloc_set_destructor(ptr, my_destructor); to setup a function that will be called on free. (This used to be commit 957b260621c091830c01e9e8c370c199350342ec) --- source4/include/rewrite.h | 1 - source4/lib/data_blob.c | 19 ++----------------- 2 files changed, 2 insertions(+), 18 deletions(-) (limited to 'source4') diff --git a/source4/include/rewrite.h b/source4/include/rewrite.h index 626a467331..0bac4ab19e 100644 --- a/source4/include/rewrite.h +++ b/source4/include/rewrite.h @@ -78,7 +78,6 @@ typedef smb_ucs2_t wfstring[FSTRING_LEN]; typedef struct data_blob { uint8_t *data; size_t length; - void (*free)(struct data_blob *data_blob); } DATA_BLOB; #include "enums.h" diff --git a/source4/lib/data_blob.c b/source4/lib/data_blob.c index bc5cf9abc8..92950298aa 100644 --- a/source4/lib/data_blob.c +++ b/source4/lib/data_blob.c @@ -21,16 +21,6 @@ #include "includes.h" -/******************************************************************* - free() a data blob -*******************************************************************/ -static void free_data_blob(DATA_BLOB *d) -{ - if ((d) && (d->free)) { - SAFE_FREE(d->data); - } -} - /******************************************************************* construct a data blob, must be freed with data_blob_free() you can pass NULL for p and get a blank data blob @@ -39,7 +29,7 @@ DATA_BLOB data_blob(const void *p, size_t length) { DATA_BLOB ret; - if (!length) { + if (length == 0) { ZERO_STRUCT(ret); return ret; } @@ -50,7 +40,6 @@ DATA_BLOB data_blob(const void *p, size_t length) ret.data = smb_xmalloc(length); } ret.length = length; - ret.free = free_data_blob; return ret; } @@ -73,7 +62,6 @@ DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length) smb_panic("data_blob_talloc: talloc_memdup failed.\n"); } ret.length = length; - ret.free = NULL; return ret; } @@ -83,7 +71,6 @@ DATA_BLOB data_blob_talloc(TALLOC_CTX *mem_ctx, const void *p, size_t length) } ret.length = length; - ret.free = NULL; return ret; } @@ -121,9 +108,7 @@ free a data blob void data_blob_free(DATA_BLOB *d) { if (d) { - if (d->free) { - (d->free)(d); - } + free(d->data); d->data = NULL; d->length = 0; } -- cgit