s3-lib Move sstring_sub() to it's only user and make static
[nivanova/samba-autobuild/.git] / source3 / libnet / libnet_samsync_ldif.c
index 4154a07fdabcddeff1f3501cbf1565a75d7f9f05..3f7fb347dd530d3c847c97bdc1227b326332a1e8 100644 (file)
@@ -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;
+}
+
 /****************************************************************
 ****************************************************************/