From: Pierangelo Masarati Date: Mon, 7 Apr 2003 08:53:03 +0000 (+0000) Subject: fix and improve previous commit X-Git-Tag: AUTOCONF_2_57~29 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=504eb61495dcaec26751a15d581fd17c53f3b534;p=openldap fix and improve previous commit --- diff --git a/servers/slapd/back-monitor/search.c b/servers/slapd/back-monitor/search.c index 92e46976d5..401b08d68c 100644 --- a/servers/slapd/back-monitor/search.c +++ b/servers/slapd/back-monitor/search.c @@ -112,10 +112,8 @@ monitor_send_children( rc = test_filter( op, e, op->oq_search.rs_filter ); if ( rc == LDAP_COMPARE_TRUE ) { rs->sr_entry = e; - rs->sr_attrs = attrs; send_search_entry( op, rs ); rs->sr_entry = NULL; - rs->sr_attrs = NULL; } if ( ( mp->mp_children || MONITOR_HAS_VOLATILE_CH( mp ) ) @@ -168,16 +166,15 @@ monitor_back_search( Operation *op, SlapReply *rs ) return( 0 ); } + rs->sr_attrs = op->oq_search.rs_attrs; switch ( op->oq_search.rs_scope ) { case LDAP_SCOPE_BASE: monitor_entry_update( mi, e ); rc = test_filter( op, e, op->oq_search.rs_filter ); if ( rc == LDAP_COMPARE_TRUE ) { rs->sr_entry = e; - rs->sr_attrs = attrs; send_search_entry( op, rs ); rs->sr_entry = NULL; - rs->sr_attrs = NULL; } rc = LDAP_SUCCESS; monitor_cache_release( mi, e ); @@ -196,10 +193,8 @@ monitor_back_search( Operation *op, SlapReply *rs ) rc = test_filter( op, e, op->oq_search.rs_filter ); if ( rc == LDAP_COMPARE_TRUE ) { rs->sr_entry = e; - rs->sr_attrs = attrs; send_search_entry( op, rs ); rs->sr_entry = NULL; - rs->sr_attrs = NULL; } rc = monitor_send_children( op, rs, e, 1 ); @@ -210,6 +205,7 @@ monitor_back_search( Operation *op, SlapReply *rs ) break; } + rs->sr_attrs = NULL; rs->sr_err = rc; send_ldap_result( op, rs );