diff options
author | Andrew Bartlett <abartlet@samba.org> | 2011-05-30 16:15:01 +1000 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2011-05-31 00:32:07 +0200 |
commit | a5a2373979a9484bb68271e9c1c518f05a8ec564 (patch) | |
tree | 4e8491b003c76415baa40fc0556d3cbfe82f12e9 /source3/libnet | |
parent | 8d639feed9493a099c57d494254f1ea262b28277 (diff) | |
download | samba-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.c | 27 |
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; +} + /**************************************************************** ****************************************************************/ |