summaryrefslogtreecommitdiffstats
path: root/source/lib/util_strlist.c
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-08-30 13:58:48 +0000
committerJelmer Vernooij <jelmer@samba.org>2005-08-30 13:58:48 +0000
commit28ac76024f97edc222898ab8b475820aaa209b45 (patch)
treef22c08c20976f235fa54d3060b45a57587536ac1 /source/lib/util_strlist.c
parentc8e496d2c9508820bb88d80be2a5cb3de13616ab (diff)
downloadsamba-28ac76024f97edc222898ab8b475820aaa209b45.tar.gz
samba-28ac76024f97edc222898ab8b475820aaa209b45.tar.xz
samba-28ac76024f97edc222898ab8b475820aaa209b45.zip
r9798: Add generic functions for handling smb.conf files (the parameters don't to be pre-declared). Also doesn't use any globals, so multiple files can be loaded at once.
Currently uses the prefix "param" for all functions and structures; suggestions for better ones are welcome... Remove old smb.conf-parsing code from libsamba3.
Diffstat (limited to 'source/lib/util_strlist.c')
-rw-r--r--source/lib/util_strlist.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/source/lib/util_strlist.c b/source/lib/util_strlist.c
index d5c4d915850..8efa1f92d20 100644
--- a/source/lib/util_strlist.c
+++ b/source/lib/util_strlist.c
@@ -22,7 +22,7 @@
/*
build a null terminated list of strings from a input string and a
- separator list. The sepatator list must contain characters less than
+ separator list. The separator list must contain characters less than
or equal to 0x2f for this to work correctly on multi-byte strings
*/
const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *sep)
@@ -70,6 +70,25 @@ const char **str_list_make(TALLOC_CTX *mem_ctx, const char *string, const char *
return ret;
}
+/* join a list back to one string */
+char *str_list_join(TALLOC_CTX *mem_ctx, const char **list, char seperator)
+{
+ char *ret = NULL;
+ int i;
+
+ if (list[0] == NULL)
+ return talloc_strdup(mem_ctx, "");
+
+ ret = talloc_strdup(mem_ctx, list[0]);
+
+ for (i = 1; list[i]; i++) {
+ ret = talloc_asprintf_append(ret, "%c%s", seperator, list[i]);
+ }
+
+ return ret;
+}
+
+
/*
return the number of elements in a string list
*/