summaryrefslogtreecommitdiff
path: root/source4/lib/util
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2007-09-08 00:38:22 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 15:05:35 -0500
commite73df517c877add667cc36e889282d129eebe3b9 (patch)
tree66a29c5cf2579ef856051cc090d8ae933fe91c92 /source4/lib/util
parentee2ef3e5f06885a2dd1ea27318ff05d2aff401a8 (diff)
downloadsamba-e73df517c877add667cc36e889282d129eebe3b9.tar.gz
samba-e73df517c877add667cc36e889282d129eebe3b9.tar.bz2
samba-e73df517c877add667cc36e889282d129eebe3b9.zip
r25014: Use talloc for allocating values as well.
(This used to be commit 43f0e2622ef61bd865fcf17191118c050ec8cfcb)
Diffstat (limited to 'source4/lib/util')
-rw-r--r--source4/lib/util/util.h7
-rw-r--r--source4/lib/util/util_str.c33
2 files changed, 11 insertions, 29 deletions
diff --git a/source4/lib/util/util.h b/source4/lib/util/util.h
index 8d71ad1a64..a2e0954517 100644
--- a/source4/lib/util/util.h
+++ b/source4/lib/util/util.h
@@ -371,15 +371,10 @@ _PUBLIC_ void hex_encode(const unsigned char *buff_in, size_t len, char **out_he
_PUBLIC_ char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_in, size_t len);
/**
- Free a string value.
-**/
-_PUBLIC_ void string_free(char **s);
-
-/**
Set a string value, deallocating any existing space, and allocing the space
for the string
**/
-_PUBLIC_ bool string_set(char **dest, const char *src);
+_PUBLIC_ bool string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src);
/**
Substitute a string for a pattern in another string. Make sure there is
diff --git a/source4/lib/util/util_str.c b/source4/lib/util/util_str.c
index eb8155cc7c..4bec469f87 100644
--- a/source4/lib/util/util_str.c
+++ b/source4/lib/util/util_str.c
@@ -260,36 +260,23 @@ _PUBLIC_ char *hex_encode_talloc(TALLOC_CTX *mem_ctx, const unsigned char *buff_
}
/**
- Set a string value, allocing the space for the string
+ Set a string value, deallocating any existing space, and allocing the space
+ for the string
**/
-static bool string_init(char **dest,const char *src)
+_PUBLIC_ bool string_set(TALLOC_CTX *mem_ctx, char **dest, const char *src)
{
- if (!src) src = "";
+ talloc_free(*dest);
- (*dest) = strdup(src);
+ if (src == NULL)
+ src = "";
+
+ *dest = talloc_strdup(mem_ctx, src);
if ((*dest) == NULL) {
DEBUG(0,("Out of memory in string_init\n"));
return false;
}
- return true;
-}
-
-/**
- Free a string value.
-**/
-_PUBLIC_ void string_free(char **s)
-{
- if (s) SAFE_FREE(*s);
-}
-/**
- Set a string value, deallocating any existing space, and allocing the space
- for the string
-**/
-_PUBLIC_ bool string_set(char **dest, const char *src)
-{
- string_free(dest);
- return string_init(dest,src);
+ return true;
}
/**
@@ -304,7 +291,7 @@ _PUBLIC_ bool string_set(char **dest, const char *src)
use of len==0 which was for no length checks to be done.
**/
-_PUBLIC_ void string_sub(char *s,const char *pattern, const char *insert, size_t len)
+_PUBLIC_ void string_sub(char *s, const char *pattern, const char *insert, size_t len)
{
char *p;
ssize_t ls,lp,li, i;