]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/modrdn.c
Add a default case with assert() just in case.
[openldap] / servers / slapd / back-ldbm / modrdn.c
index 6e309c0fd4eed5c9614a3b1affbebd932359c84a..d8a80509a4c6b87baf843ada3bf4678b073dc3d5 100644 (file)
@@ -91,7 +91,7 @@ ldbm_back_modrdn(
        /* get entry with writer lock */
        if ( (e = dn2entry_w( be, ndn, &matched )) == NULL ) {
                char* matched_dn = NULL;
-               BVarray refs;
+               BerVarray refs;
 
                if( matched != NULL ) {
                        matched_dn = strdup( matched->e_dn );
@@ -107,7 +107,7 @@ ldbm_back_modrdn(
                send_ldap_result( conn, op, LDAP_REFERRAL,
                        matched_dn, NULL, refs, NULL );
 
-               if ( refs ) bvarray_free( refs );
+               if ( refs ) ber_bvarray_free( refs );
                free( matched_dn );
 
                return( -1 );
@@ -116,7 +116,7 @@ ldbm_back_modrdn(
        if (!manageDSAit && is_entry_referral( e ) ) {
                /* parent is a referral, don't allow add */
                /* parent is an alias, don't allow add */
-               BVarray refs = get_entry_referrals( be,
+               BerVarray refs = get_entry_referrals( be,
                        conn, op, e );
 
 #ifdef NEW_LOGGING
@@ -130,7 +130,7 @@ ldbm_back_modrdn(
                send_ldap_result( conn, op, LDAP_REFERRAL,
                    e->e_dn, NULL, refs, NULL );
 
-               if ( refs ) bvarray_free( refs );
+               if ( refs ) ber_bvarray_free( refs );
                goto return_results;
        }
 
@@ -291,8 +291,7 @@ ldbm_back_modrdn(
                np_ndn = nnewSuperior;
 
                /* newSuperior == oldParent? */
-               if ( p_ndn.bv_len == np_ndn->bv_len &&
-                       strcmp( p_ndn.bv_val, np_ndn->bv_val ) == 0 ) {
+               if ( dn_match( &p_ndn, np_ndn ) ) {
 #ifdef NEW_LOGGING
                        LDAP_LOG(( "backend", LDAP_LEVEL_INFO, "ldbm_back_modrdn: "
                                "new parent\"%s\" seems to be the same as the "
@@ -496,7 +495,9 @@ ldbm_back_modrdn(
        /* Get attribute types and values of our new rdn, we will
         * need to add that to our new entry
         */
-       if ( ldap_str2rdn( newrdn->bv_val, &new_rdn, &text, LDAP_DN_FORMAT_LDAP ) ) {
+       if ( ldap_str2rdn( newrdn->bv_val, &new_rdn, (char **)&text,
+               LDAP_DN_FORMAT_LDAP ) )
+       {
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
                        "ldbm_back_modrdn: can't figure out type(s)/value(s) of newrdn\n" ));
@@ -522,7 +523,9 @@ ldbm_back_modrdn(
 #endif
 
        /* Retrieve the old rdn from the entry's dn */
-       if ( ldap_str2rdn( dn->bv_val, &old_rdn, &text, LDAP_DN_FORMAT_LDAP ) ) {
+       if ( ldap_str2rdn( dn->bv_val, &old_rdn, (char **)&text,
+               LDAP_DN_FORMAT_LDAP ) )
+       {
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_INFO,
                           "ldbm_back_modrdn: can't figure out the old_rdn type(s)/value(s).\n" ));
@@ -610,7 +613,7 @@ ldbm_back_modrdn(
                mod_tmp = (Modifications *)ch_malloc( sizeof( Modifications )
                        + 2 * sizeof( struct berval ) );
                mod_tmp->sml_desc = desc;
-               mod_tmp->sml_bvalues = (BVarray)( mod_tmp + 1 );
+               mod_tmp->sml_bvalues = (BerVarray)( mod_tmp + 1 );
                mod_tmp->sml_bvalues[0] = new_rdn[0][a_cnt]->la_value;
                mod_tmp->sml_bvalues[1].bv_val = NULL;
                mod_tmp->sml_op = SLAP_MOD_SOFTADD;
@@ -684,7 +687,7 @@ ldbm_back_modrdn(
                        mod_tmp = (Modifications *)ch_malloc( sizeof( Modifications )
                                + 2 * sizeof( struct berval ) );
                        mod_tmp->sml_desc = desc;
-                       mod_tmp->sml_bvalues = (BVarray)(mod_tmp+1);
+                       mod_tmp->sml_bvalues = (BerVarray)(mod_tmp+1);
                        mod_tmp->sml_bvalues[0] = old_rdn[0][d_cnt]->la_value;
                        mod_tmp->sml_bvalues[1].bv_val = NULL;
                        mod_tmp->sml_op = LDAP_MOD_DELETE;