]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-bdb/search.c
Sync with HEAD
[openldap] / servers / slapd / back-bdb / search.c
index f239d580d0391fb7148f7e1daf1fffa22b93053d..ca4b755e2cb26cc30123d2b5d883c2acd3336cc2 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2000-2003 The OpenLDAP Foundation.
+ * Copyright 2000-2004 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -655,7 +655,7 @@ dn2entry_retry:
        if ( be_isroot( op->o_bd, &sop->o_ndn ) ) {
                isroot = 1;
        } else {
-               ( void ) get_limits( op->o_bd, &sop->o_ndn, &limit );
+               ( void ) get_limits( op, &sop->o_ndn, &limit );
        }
 
        /* The time/size limits come first because they require very little
@@ -809,10 +809,7 @@ dn2entry_retry:
                        0, 0, 0 );
 #endif
 
-               rs->sr_err = LDAP_SUCCESS;
-               rs->sr_entry = NULL;
-               send_ldap_result( sop, rs );
-               goto done;
+               goto nochange;
        }
 
        /* if not root and candidates exceed to-be-checked entries, abort */
@@ -1001,9 +998,6 @@ id2entry_retry:
                } else {
                        e = ps_e;
                }
-#if 0
-               assert( BEI(e) );
-#endif
 
                rs->sr_entry = e;
 
@@ -1054,15 +1048,13 @@ id2entry_retry:
                        break;
 
                case LDAP_SCOPE_SUBTREE: {
-                       EntryInfo *tmp = BEI(e);
-                       if ( tmp ) for (; tmp->bei_parent; tmp = tmp->bei_parent ) {
+                       EntryInfo *tmp;
+                       for (tmp = BEI(e); tmp->bei_parent;
+                                tmp = tmp->bei_parent ) {
                                if ( tmp->bei_id == base.e_id ) {
                                        scopeok = 1;
                                        break;
                                }
-                       } else {
-                               /* FIXME */
-                               scopeok = 1;
                        }
                        } break;
                }