]> git.sur5r.net Git - openldap/commitdiff
Harmonize bvptr2obj_copy() with values2obj_copy() - ie. don't fail if NULL
authorLuke Howard <lukeh@openldap.org>
Mon, 23 Aug 2004 03:59:07 +0000 (03:59 +0000)
committerLuke Howard <lukeh@openldap.org>
Mon, 23 Aug 2004 03:59:07 +0000 (03:59 +0000)
is passed in.

servers/slapd/slapi/slapi_ops.c

index fd4828003accbd5719794923be2d22079876ac7b..05764d339f20b5972914fa5f52af5b574d700f0a 100644 (file)
@@ -271,7 +271,7 @@ values2obj_copy(
        }
 
        for ( i = 0; ppValue[i] != NULL; i++ )
-               ;
+               ; /* EMPTY */
 
        tmpberval = (BerVarray)slapi_ch_malloc( (i+1) * (sizeof(struct berval)) );
        if ( tmpberval == NULL ) {
@@ -297,19 +297,18 @@ bvptr2obj_copy(
        struct berval   **bvptr, 
        BerVarray       *bvobj )
 {
-       int             rc = LDAP_SUCCESS;
        int             i;
        BerVarray       tmpberval;
 
-       if ( bvptr == NULL || *bvptr == NULL ) {
-               return LDAP_OTHER;
+       if ( bvptr == NULL ) {
+               *bvobj = NULL;
+               return LDAP_SUCCESS;
        }
 
-       for ( i = 0; bvptr != NULL && bvptr[i] != NULL; i++ ) {
+       for ( i = 0; bvptr[i] != NULL; i++ )
                ; /* EMPTY */
-       }
 
-       tmpberval = (BerVarray)slapi_ch_malloc( (i + 1)*sizeof(struct berval));
+       tmpberval = (BerVarray)slapi_ch_malloc( (i + 1) * sizeof(struct berval));
        if ( tmpberval == NULL ) {
                return LDAP_NO_MEMORY;
        } 
@@ -319,14 +318,13 @@ bvptr2obj_copy(
                tmpberval[i].bv_len = bvptr[i]->bv_len;
                AC_MEMCPY( tmpberval[i].bv_val, bvptr[i]->bv_val, bvptr[i]->bv_len );
        }
+
        tmpberval[i].bv_val = NULL;
        tmpberval[i].bv_len = 0;
 
-       if ( rc == LDAP_SUCCESS ) {
-               *bvobj = tmpberval;
-       }
+       *bvobj = tmpberval;
 
-       return rc;
+       return LDAP_SUCCESS;
 }
 
 /*