]> git.sur5r.net Git - openldap/commitdiff
Backout delete before add rdn index change.
authorKurt Zeilenga <kurt@openldap.org>
Thu, 26 Aug 1999 01:48:47 +0000 (01:48 +0000)
committerKurt Zeilenga <kurt@openldap.org>
Thu, 26 Aug 1999 01:48:47 +0000 (01:48 +0000)
servers/slapd/back-ldbm/modrdn.c

index 980498277d69dd7c6b9f24f9e8003abb4ff5addf..4120263fa4db62c3db24bdf7811996bdf06e798d 100644 (file)
@@ -358,10 +358,10 @@ ldbm_back_modrdn(
                add_bv.bv_val = new_rdn_val;
                add_bv.bv_len = strlen(new_rdn_val);
                
-               mod[1].ml_type = new_rdn_type;  
-               mod[1].ml_bvalues = add_bvals;
-               mod[1].ml_op = LDAP_MOD_SOFTADD;
-               mod[1].ml_next = NULL;
+               mod[0].ml_type = new_rdn_type;  
+               mod[0].ml_bvalues = add_bvals;
+               mod[0].ml_op = LDAP_MOD_SOFTADD;
+               mod[0].ml_next = NULL;
 
                /* Remove old rdn value if required */
 
@@ -390,10 +390,11 @@ ldbm_back_modrdn(
                        /* No need to normalize old_rdn_type, delete_values()
                         * does that for us
                         */
-                       mod[0].ml_type = old_rdn_type;  
-                       mod[0].ml_bvalues = del_bvals;
-                       mod[0].ml_op = LDAP_MOD_DELETE;
                        mod[0].ml_next = &mod[1];
+                       mod[1].ml_type = old_rdn_type;  
+                       mod[1].ml_bvalues = del_bvals;
+                       mod[1].ml_op = LDAP_MOD_DELETE;
+                       mod[1].ml_next = NULL;
 
                        Debug( LDAP_DEBUG_TRACE,
                               "ldbm_back_modrdn: removing old_rdn_val=%s\n",
@@ -438,8 +439,8 @@ ldbm_back_modrdn(
 
 
        /* modify memory copy of entry */
-       if ( ldbm_modify_internal( be, conn, op, dn,
-               &mod[deleteoldrdn ? 0 : 1], e ) != 0 ) {
+       if ( ldbm_modify_internal( be, conn, op, dn, &mod[0], e )
+            != 0 ) {
            
            goto return_results;
        }