summaryrefslogtreecommitdiff
path: root/source3/libnet
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2011-05-30 16:15:01 +1000
committerAndrew Bartlett <abartlet@samba.org>2011-05-31 00:32:07 +0200
commita5a2373979a9484bb68271e9c1c518f05a8ec564 (patch)
tree4e8491b003c76415baa40fc0556d3cbfe82f12e9 /source3/libnet
parent8d639feed9493a099c57d494254f1ea262b28277 (diff)
downloadsamba-a5a2373979a9484bb68271e9c1c518f05a8ec564.tar.gz
samba-a5a2373979a9484bb68271e9c1c518f05a8ec564.tar.bz2
samba-a5a2373979a9484bb68271e9c1c518f05a8ec564.zip
s3-lib Move sstring_sub() to it's only user and make static
This should not be used more generally, as it is specifically not for multibyte strings, and uses malloc rather than talloc. Andrew Bartlett
Diffstat (limited to 'source3/libnet')
-rw-r--r--source3/libnet/libnet_samsync_ldif.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/source3/libnet/libnet_samsync_ldif.c b/source3/libnet/libnet_samsync_ldif.c
index 4154a07fda..3f7fb347dd 100644
--- a/source3/libnet/libnet_samsync_ldif.c
+++ b/source3/libnet/libnet_samsync_ldif.c
@@ -68,6 +68,33 @@ struct samsync_ldif_context {
int num_alloced;
};
+/*
+ Returns the substring from src between the first occurrence of
+ the char "front" and the first occurence of the char "back".
+ Mallocs the return string which must be freed. Not for use
+ with wide character strings.
+*/
+static char *sstring_sub(const char *src, char front, char back)
+{
+ char *temp1, *temp2, *temp3;
+ ptrdiff_t len;
+
+ temp1 = strchr(src, front);
+ if (temp1 == NULL) return NULL;
+ temp2 = strchr(src, back);
+ if (temp2 == NULL) return NULL;
+ len = temp2 - temp1;
+ if (len <= 0) return NULL;
+ temp3 = (char*)SMB_MALLOC(len);
+ if (temp3 == NULL) {
+ DEBUG(1,("Malloc failure in sstring_sub\n"));
+ return NULL;
+ }
+ memcpy(temp3, temp1+1, len-1);
+ temp3[len-1] = '\0';
+ return temp3;
+}
+
/****************************************************************
****************************************************************/