From: Stig Venaas Date: Tue, 9 Jan 2001 15:49:44 +0000 (+0000) Subject: Allow changing rdn only, locked parent twice when old and new parent were X-Git-Tag: LDBM_PRE_GIANT_RWLOCK~1609 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=43015fc862e65b04e670365ca90fd87c7ceca643;p=openldap Allow changing rdn only, locked parent twice when old and new parent were the same. --- diff --git a/servers/slapd/back-ldbm/modrdn.c b/servers/slapd/back-ldbm/modrdn.c index 7367f2ad8b..38572293a9 100644 --- a/servers/slapd/back-ldbm/modrdn.c +++ b/servers/slapd/back-ldbm/modrdn.c @@ -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? */