]> git.sur5r.net Git - openldap/commitdiff
Cleanup while loops in dn2id_add/delete
authorHoward Chu <hyc@openldap.org>
Thu, 17 Jan 2002 23:45:40 +0000 (23:45 +0000)
committerHoward Chu <hyc@openldap.org>
Thu, 17 Jan 2002 23:45:40 +0000 (23:45 +0000)
servers/slapd/back-bdb/dn2id.c

index ab8f23f76dfb802ef6f723e0585a7ce0b5847a16..c05dcae2231238ae1742f843f3491ff8406a753c 100644 (file)
@@ -51,7 +51,6 @@ bdb_dn2id_add(
                goto done;
        }
 
-       pdn = NULL;
        if( !be_issuffix( be, ptr )) {
                buf[0] = DN_SUBTREE_PREFIX;
                rc = bdb_idl_insert_key( be, db, txn, &key, e->e_id );
@@ -73,35 +72,30 @@ bdb_dn2id_add(
                key.size -= pdn - ptr;
                pdn[-1] = DN_ONE_PREFIX;
                key.data = pdn - 1;
+               ptr = pdn;
 
                rc = bdb_idl_insert_key( be, db, txn, &key, e->e_id );
 
                if( rc != 0 ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_add: parent (%s) insert failed: %d\n",
-                                       pdn, rc, 0 );
+                                       ptr, rc, 0 );
                        goto done;
                }
        }
 
-       while( pdn != NULL ) {
-               if ( be_issuffix( be, pdn ))
-                       break;
-               pdn[-1] = DN_SUBTREE_PREFIX;
+       while( !be_issuffix( be, ptr )) {
+               ptr[-1] = DN_SUBTREE_PREFIX;
 
                rc = bdb_idl_insert_key( be, db, txn, &key, e->e_id );
 
                if( rc != 0 ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_add: subtree (%s) insert failed: %d\n",
-                                       pdn, rc, 0 );
+                                       ptr, rc, 0 );
                        break;
                }
-               ptr = pdn;
-               if ( be_issuffix( be, pdn ) ) {
-                       break;
-               }
-               rc = dnParent( pdn, &pdn );
+               rc = dnParent( ptr, &pdn );
                if ( rc != LDAP_SUCCESS ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_add: dnParent(\"%s\") failed\n",
@@ -111,6 +105,7 @@ bdb_dn2id_add(
 
                key.size -= pdn - ptr;
                key.data = pdn - 1;
+               ptr = pdn;
        }
 
 done:
@@ -152,7 +147,6 @@ bdb_dn2id_delete(
                goto done;
        }
 
-       pdn = NULL;
        if( !be_issuffix( be, ptr )) {
                buf[0] = DN_SUBTREE_PREFIX;
                rc = bdb_idl_delete_key( be, db, txn, &key, e->e_id );
@@ -174,32 +168,29 @@ bdb_dn2id_delete(
                key.size -= pdn - ptr;
                pdn[-1] = DN_ONE_PREFIX;
                key.data = pdn - 1;
+               ptr = pdn;
 
                rc = bdb_idl_delete_key( be, db, txn, &key, e->e_id );
 
                if( rc != 0 ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_delete: parent (%s) delete failed: %d\n",
-                               pdn, rc, 0 );
+                               ptr, rc, 0 );
                        goto done;
                }
        }
 
-       while( pdn != NULL ) {
-               if ( be_issuffix( be, pdn ))
-                       break;
-
-               pdn[-1] = DN_SUBTREE_PREFIX;
+       while( !be_issuffix( be, ptr )) {
+               ptr[-1] = DN_SUBTREE_PREFIX;
 
                rc = bdb_idl_delete_key( be, db, txn, &key, e->e_id );
                if( rc != 0 ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_delete: subtree (%s) delete failed: %d\n",
-                               pdn, rc, 0 );
+                               ptr, rc, 0 );
                        goto done;
                }
-               ptr = pdn;
-               rc = dnParent( pdn, &pdn );
+               rc = dnParent( ptr, &pdn );
                if ( rc != LDAP_SUCCESS ) {
                        Debug( LDAP_DEBUG_ANY,
                                "=> bdb_dn2id_delete: dnParent(\"%s\") failed\n",
@@ -209,6 +200,7 @@ bdb_dn2id_delete(
 
                key.size -= pdn - ptr;
                key.data = pdn - 1;
+               ptr = pdn;
        }
 
 done: