]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/charray.c
add new ber dump routine (behind NEW_LOGGING)
[openldap] / servers / slapd / charray.c
index c7902bb844117499f0c8a99459be7472916779e5..b51659141a24ccfe13a5fb12d7a16c9d12ec0da5 100644 (file)
@@ -1,6 +1,7 @@
 /* charray.c - routines for dealing with char * arrays */
+/* $OpenLDAP$ */
 /*
- * Copyright 1998-1999 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 
@@ -16,7 +17,7 @@
 void
 charray_add(
     char       ***a,
-    char       *s
+    const char *s
 )
 {
        int     n;
@@ -80,11 +81,13 @@ charray_free( char **array )
 int
 charray_inlist(
     char       **a,
-    char       *s
+    const char *s
 )
 {
        int     i;
 
+       if( a == NULL ) return 0;
+
        for ( i = 0; a[i] != NULL; i++ ) {
                if ( strcasecmp( s, a[i] ) == 0 ) {
                        return( 1 );
@@ -114,44 +117,17 @@ charray_dup( char **a )
 }
 
 
-char *
-charray2str( char **a )
-{
-       char *s;
-       int i;
-       size_t cur, len = 0;
-
-       if( a == NULL ) return NULL;
-
-       for( i=0 ; a[i] != NULL ; i++ ) {
-               len += strlen( a[i] );
-       }
-
-       if( len == 0 ) return NULL;
-
-       s = ch_malloc( len + 1 );
-
-       cur = 0;
-       for( i=0 ; a[i] != NULL ; i++ ) {
-               len = strlen( a[i] );
-               strncpy( &s[cur], a[i], len );
-               cur += len;
-       }
-       s[len] = '\0';
-       return s;
-}
-
-
 char **
-str2charray( char *str, char *brkstr )
+str2charray( const char *str_in, const char *brkstr )
 {
+       char    *str;
        char    **res;
        char    *s;
        char    *lasts;
        int     i;
 
        /* protect the input string from strtok */
-       str = ch_strdup( str );
+       str = ch_strdup( str_in );
 
        i = 1;
        for ( s = str; *s; s++ ) {