]> git.sur5r.net Git - openldap/commitdiff
run thru the list also in case of FALSE
authorPierangelo Masarati <ando@openldap.org>
Tue, 22 Nov 2005 18:28:07 +0000 (18:28 +0000)
committerPierangelo Masarati <ando@openldap.org>
Tue, 22 Nov 2005 18:28:07 +0000 (18:28 +0000)
servers/slapd/overlays/dynlist.c

index e28d7315bc48c7d3eb1f6fd6d37c7ff868498f63..c10bafbcc464a34cde68e7460914f1eb2ed21e5e 100644 (file)
@@ -588,7 +588,12 @@ dynlist_response( Operation *op, SlapReply *rs )
                break;
 
        case LDAP_REQ_COMPARE:
-               if ( rs->sr_err == LDAP_NO_SUCH_ATTRIBUTE ) {
+               switch ( rs->sr_err ) {
+               /* NOTE: we waste a few cycles running the dynamic list
+                * also when the result is FALSE, which occurs if the
+                * dynamic entry itself contains the AVA attribute  */
+               case LDAP_COMPARE_FALSE:
+               case LDAP_NO_SUCH_ATTRIBUTE:
                        return dynlist_compare( op, rs );
                }
                break;