summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2004-07-11 06:51:58 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:56:55 -0500
commit30c15f37cc73f0beebceed009109542ba738d011 (patch)
tree7e269396f8af7bbb368288ad42b45ccdfb4e38ac
parent462d27d7e633e368928569f8fbe9e25ab3e72e1c (diff)
downloadsamba-30c15f37cc73f0beebceed009109542ba738d011.tar.gz
samba-30c15f37cc73f0beebceed009109542ba738d011.tar.bz2
samba-30c15f37cc73f0beebceed009109542ba738d011.zip
r1435: talloc_steal is very useful - add a function to do it with a DATA_BLOB
Andrew Bartlett (This used to be commit 66d6e2611084d579a20833a4c0daa5d72ef9393c)
-rw-r--r--source4/lib/data_blob.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/source4/lib/data_blob.c b/source4/lib/data_blob.c
index 3667d453b9..a6e6672b90 100644
--- a/source4/lib/data_blob.c
+++ b/source4/lib/data_blob.c
@@ -99,6 +99,21 @@ DATA_BLOB data_blob_talloc_zero(TALLOC_CTX *mem_ctx, size_t length)
return blob;
}
+/**
+ * Steal a talloc'ed DATA_BLOB from one context to another
+ */
+
+DATA_BLOB data_blob_talloc_steal(TALLOC_CTX *old_ctx, TALLOC_CTX *new_ctx,
+ DATA_BLOB *old)
+{
+ DATA_BLOB new;
+ new = *old;
+ new.data = talloc_steal(old_ctx, new_ctx, old->data);
+ if (new.data == NULL) {
+ smb_panic("data_blob_talloc_steal: talloc_steal failed.\n");
+ }
+}
+
/*******************************************************************
free a data blob
*******************************************************************/