From 302e8d5f840521bd6c9de18d7979cfc0118c8eaf Mon Sep 17 00:00:00 2001 From: Quanah Gibson-Mount Date: Thu, 15 Apr 2010 00:42:53 +0000 Subject: [PATCH] reduce code duplication --- servers/slapd/overlays/dynlist.c | 46 +++++--------------------------- 1 file changed, 6 insertions(+), 40 deletions(-) diff --git a/servers/slapd/overlays/dynlist.c b/servers/slapd/overlays/dynlist.c index 706ff59760..26c357ceca 100644 --- a/servers/slapd/overlays/dynlist.c +++ b/servers/slapd/overlays/dynlist.c @@ -108,46 +108,12 @@ dynlist_is_dynlist_next( Operation *op, SlapReply *rs, dynlist_info_t *old_dli ) for ( ; dli; dli = dli->dli_next ) { if ( dli->dli_lud != NULL ) { /* check base and scope */ - if ( !BER_BVISNULL( &dli->dli_uri_nbase ) ) { - int d = rs->sr_entry->e_nname.bv_len - dli->dli_uri_nbase.bv_len; - - if ( d < 0 ) { - continue; - } - - if ( !dnIsSuffix( &rs->sr_entry->e_nname, &dli->dli_uri_nbase ) ) { - continue; - } - - switch ( dli->dli_lud->lud_scope ) { - case LDAP_SCOPE_BASE: - if ( d != 0 ) { - continue; - } - break; - - case LDAP_SCOPE_ONELEVEL: { - struct berval pdn; - - dnParent( &rs->sr_entry->e_nname, &pdn ); - if ( pdn.bv_len != dli->dli_uri_nbase.bv_len ) { - continue; - } - } break; - - case LDAP_SCOPE_SUBORDINATE: - if ( d == 0 ) { - continue; - } - break; - - case LDAP_SCOPE_SUBTREE: - case LDAP_SCOPE_DEFAULT: - break; - - default: - continue; - } + if ( !BER_BVISNULL( &dli->dli_uri_nbase ) + && !dnIsSuffixScope( &rs->sr_entry->e_nname, + &dli->dli_uri_nbase, + dli->dli_lud->lud_scope ) ) + { + continue; } /* check filter */ -- 2.39.5