]> git.sur5r.net Git - openldap/commitdiff
Fix newSuperior handling. Back out previous commit.
authorHoward Chu <hyc@openldap.org>
Sat, 29 Dec 2001 02:56:08 +0000 (02:56 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 29 Dec 2001 02:56:08 +0000 (02:56 +0000)
servers/slapd/back-bdb/modrdn.c
servers/slapd/back-ldbm/modrdn.c
servers/slapd/modrdn.c

index 15c4973495d966a7fd63e93c823bad43d10a2689..c67b5a31805356ced192a8114c6e5788f21727de 100644 (file)
@@ -268,7 +268,7 @@ retry:      /* transaction retry */
 
        new_parent_dn = &p_dn;  /* New Parent unless newSuperior given */
 
-       if ( newSuperior->bv_val != NULL ) {
+       if ( newSuperior != NULL ) {
                Debug( LDAP_DEBUG_TRACE, 
                        "bdb_modrdn: new parent \"%s\" requested...\n",
                        newSuperior->bv_val, 0, 0 );
index 107986c9ffc9582ba809f0246afb92dfa63a6b15..d62ca575998151d04ccbe8e7ecf7e4ca161989cd 100644 (file)
@@ -281,7 +281,7 @@ ldbm_back_modrdn(
 
        new_parent_dn = &p_dn;  /* New Parent unless newSuperior given */
 
-       if ( newSuperior->bv_val != NULL ) {
+       if ( newSuperior != NULL ) {
 #ifdef NEW_LOGGING
                LDAP_LOG(( "backend", LDAP_LEVEL_DETAIL1,
                        "ldbm_back_modrdn: new parent \"%s\" requested\n",
@@ -314,7 +314,7 @@ ldbm_back_modrdn(
                }
        }
 
-       if ( newSuperior && newSuperior->bv_val != NULL ) {
+       if ( newSuperior != NULL ) {
                /* newSuperior == entry being moved?, if so ==> ERROR */
                /* Get Entry with dn=newSuperior. Does newSuperior exist? */
 
index 628f68497f2b992db9d992977432dc83dbae0678..815da7d4816c424f6a9eb294a5fb2f95b5f8d493 100644 (file)
@@ -51,11 +51,11 @@ do_modrdn(
 
        struct berval pdn = { 0, NULL };
        struct berval pnewrdn = { 0, NULL };
-       struct berval pnewSuperior = { 0, NULL };
+       struct berval pnewSuperior = { 0, NULL }, *pnewS = NULL;
 
        struct berval ndn = { 0, NULL };
        struct berval nnewrdn = { 0, NULL };
-       struct berval nnewSuperior = { 0, NULL };
+       struct berval nnewSuperior = { 0, NULL }, *nnewS = NULL;
 
        Backend *be;
        Backend *newSuperior_be = NULL;
@@ -136,6 +136,8 @@ do_modrdn(
                        rc = SLAPD_DISCONNECT;
                        goto cleanup;
                }
+               pnewS = &pnewSuperior;
+               nnewS = &nnewSuperior;
        }
 
 #ifdef NEW_LOGGING
@@ -249,7 +251,7 @@ do_modrdn(
                goto cleanup;
        }
 
-       if( newSuperior.bv_len ) {
+       if( pnewS ) {
                rc = dnPrettyNormal( NULL, &newSuperior, &pnewSuperior,
                        &nnewSuperior );
                if( rc != LDAP_SUCCESS ) {
@@ -306,7 +308,7 @@ do_modrdn(
        /* Make sure that the entry being changed and the newSuperior are in 
         * the same backend, otherwise we return an error.
         */
-       if( newSuperior.bv_len ) {
+       if( pnewS ) {
                newSuperior_be = select_backend( &nnewSuperior, 0, 0 );
 
                if ( newSuperior_be != be ) {
@@ -341,7 +343,7 @@ do_modrdn(
                {
                        if ( (*be->be_modrdn)( be, conn, op, &pdn, &ndn,
                                &pnewrdn, &nnewrdn, deloldrdn,
-                               &pnewSuperior, &nnewSuperior ) == 0
+                               pnewS, nnewS ) == 0
 #ifdef SLAPD_MULTIMASTER
                                && ( !be->be_update_ndn.bv_len || !repl_user )
 #endif