svn commit: samba r2039 - in branches/SAMBA_4_0/source: include lib
tridge at samba.org
tridge at samba.org
Wed Aug 25 02:07:20 GMT 2004
Author: tridge
Date: 2004-08-25 02:07:20 +0000 (Wed, 25 Aug 2004)
New Revision: 2039
WebSVN: http://websvn.samba.org/websvn/changeset.php?rep=samba&path=/branches/SAMBA_4_0/source&rev=2039&nolog=1
Log:
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.
Modified:
branches/SAMBA_4_0/source/include/rewrite.h
branches/SAMBA_4_0/source/lib/data_blob.c
Changeset:
Modified: branches/SAMBA_4_0/source/include/rewrite.h
===================================================================
--- branches/SAMBA_4_0/source/include/rewrite.h 2004-08-25 02:06:08 UTC (rev 2038)
+++ branches/SAMBA_4_0/source/include/rewrite.h 2004-08-25 02:07:20 UTC (rev 2039)
@@ -78,7 +78,6 @@
typedef struct data_blob {
uint8_t *data;
size_t length;
- void (*free)(struct data_blob *data_blob);
} DATA_BLOB;
#include "enums.h"
Modified: branches/SAMBA_4_0/source/lib/data_blob.c
===================================================================
--- branches/SAMBA_4_0/source/lib/data_blob.c 2004-08-25 02:06:08 UTC (rev 2038)
+++ branches/SAMBA_4_0/source/lib/data_blob.c 2004-08-25 02:07:20 UTC (rev 2039)
@@ -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 ret;
- if (!length) {
+ if (length == 0) {
ZERO_STRUCT(ret);
return ret;
}
@@ -50,7 +40,6 @@
ret.data = smb_xmalloc(length);
}
ret.length = length;
- ret.free = free_data_blob;
return ret;
}
@@ -73,7 +62,6 @@
smb_panic("data_blob_talloc: talloc_memdup failed.\n");
}
ret.length = length;
- ret.free = NULL;
return ret;
}
@@ -83,7 +71,6 @@
}
ret.length = length;
- ret.free = NULL;
return ret;
}
@@ -121,9 +108,7 @@
void data_blob_free(DATA_BLOB *d)
{
if (d) {
- if (d->free) {
- (d->free)(d);
- }
+ free(d->data);
d->data = NULL;
d->length = 0;
}
More information about the samba-cvs
mailing list