diff options
author | Andrew Tridgell <tridge@samba.org> | 2004-08-25 02:07:20 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 12:58:19 -0500 |
commit | 600144050ce8e4515937c87be8d2c86c2c337364 (patch) | |
tree | 05e49602381f6fcfa5b01d7f40af09e7f9da436b /source4 | |
parent | 2ed3ab021deb8e091a6a1a077010824f31b6d5bf (diff) | |
download | samba-600144050ce8e4515937c87be8d2c86c2c337364.tar.gz samba-600144050ce8e4515937c87be8d2c86c2c337364.tar.bz2 samba-600144050ce8e4515937c87be8d2c86c2c337364.zip |
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)
Diffstat (limited to 'source4')
-rw-r--r-- | source4/include/rewrite.h | 1 | ||||
-rw-r--r-- | source4/lib/data_blob.c | 19 |
2 files changed, 2 insertions, 18 deletions
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 @@ -22,16 +22,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; } |