]> git.sur5r.net Git - openldap/commitdiff
Allow changing rdn only, locked parent twice when old and new parent were
authorStig Venaas <venaas@openldap.org>
Tue, 9 Jan 2001 15:49:44 +0000 (15:49 +0000)
committerStig Venaas <venaas@openldap.org>
Tue, 9 Jan 2001 15:49:44 +0000 (15:49 +0000)
the same.

servers/slapd/back-ldbm/modrdn.c

index 7367f2ad8bfb938b64497c5b7bd02ce3ab4e082e..38572293a9f762e8df97a9aacf030eb6db454c09 100644 (file)
@@ -184,7 +184,17 @@ ldbm_back_modrdn(
                np_ndn = ch_strdup( np_dn );
                (void) dn_normalize( np_ndn );
 
-               /* newSuperior == oldParent?, if so ==> ERROR */
+               /* newSuperior == oldParent? */
+               if ( strcmp( p_ndn, np_ndn ) == 0 ) {
+                       Debug( LDAP_DEBUG_TRACE, 
+                              "ldbm_back_modrdn: new parent \"%s\" seems to be the same as old parent \"%s\"...\n",
+                              newSuperior, p_dn, 0 );
+                       newSuperior = NULL; /* ignore newSuperior */
+               }
+       }
+
+       if ( newSuperior != NULL ) {
+
                /* newSuperior == entry being moved?, if so ==> ERROR */
                /* Get Entry with dn=newSuperior. Does newSuperior exist? */