]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-meta/search.c
minor cleanup
[openldap] / servers / slapd / back-meta / search.c
index 9f76beb98ecd3112a81cd620fad2c5c23102bd12..b64c92d9359d65df27ddd6247ccae79e97af2397 100644 (file)
@@ -102,11 +102,9 @@ meta_back_search_start(
                                        &op->o_req_ndn ) )
                        {
                                realbase = mi->mi_targets[ candidate ].mt_nsuffix;
-#ifdef LDAP_SCOPE_SUBORDINATE
                                if ( mi->mi_targets[ candidate ].mt_scope == LDAP_SCOPE_SUBORDINATE ) {
                                        realscope = LDAP_SCOPE_SUBORDINATE;
                                }
-#endif /* LDAP_SCOPE_SUBORDINATE */
 
                        } else {
                                /*
@@ -116,9 +114,7 @@ meta_back_search_start(
                        }
                        break;
 
-#ifdef LDAP_SCOPE_SUBORDINATE
                case LDAP_SCOPE_SUBORDINATE:
-#endif /* LDAP_SCOPE_SUBORDINATE */
                case LDAP_SCOPE_ONELEVEL:
                {
                        struct berval   rdn = mi->mi_targets[ candidate ].mt_nsuffix;
@@ -132,16 +128,13 @@ meta_back_search_start(
                                 * base, and make scope "base"
                                 */
                                realbase = mi->mi_targets[ candidate ].mt_nsuffix;
-#ifdef LDAP_SCOPE_SUBORDINATE
                                if ( op->ors_scope == LDAP_SCOPE_SUBORDINATE ) {
                                        if ( mi->mi_targets[ candidate ].mt_scope == LDAP_SCOPE_SUBORDINATE ) {
                                                realscope = LDAP_SCOPE_SUBORDINATE;
                                        } else {
                                                realscope = LDAP_SCOPE_SUBTREE;
                                        }
-                               } else
-#endif /* LDAP_SCOPE_SUBORDINATE */
-                               {
+                               } else {
                                        realscope = LDAP_SCOPE_BASE;
                                }
                                break;
@@ -460,7 +453,7 @@ really_bad:;
                                ldap_msgfree( res );
                                res = NULL;
 
-                               switch ( rc ) {
+                               switch ( rs->sr_err ) {
                                case LDAP_SIZELIMIT_EXCEEDED:
                                        savepriv = op->o_private;
                                        op->o_private = (void *)i;
@@ -573,13 +566,22 @@ really_bad:;
                                        candidates[ i ].sr_type = REP_RESULT;
                                }
 
+                               /* NOTE: ignores response controls
+                                * (and intermediate response controls
+                                * as well, except for those with search
+                                * references); this may not be correct,
+                                * but if they're not ignored then
+                                * back-meta would need to merge them
+                                * consistently (think of pagedResults...)
+                                */
                                if ( ldap_parse_result( msc->msc_ld,
                                                        res,
                                                        &candidates[ i ].sr_err,
                                                        (char **)&candidates[ i ].sr_matched,
                                                        NULL /* (char **)&candidates[ i ].sr_text */ ,
                                                        &references,
-                                                       &candidates[ i ].sr_ctrls, 1 ) != LDAP_SUCCESS )
+                                                       NULL /* &candidates[ i ].sr_ctrls (unused) */ ,
+                                                       1 ) != LDAP_SUCCESS )
                                {
                                        res = NULL;
                                        ldap_get_option( msc->msc_ld,