Diff for /servers/slapd/filter.c between versions 1.111 and 1.112

version 1.111, 2003/04/18 02:44:06 version 1.112, 2003/04/29 03:58:28
Line 1 Line 1
 /* filter.c - routines for parsing and dealing with filters */  /* filter.c - routines for parsing and dealing with filters */
 /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.110 2003/04/12 03:12:40 hyc Exp $ */  /* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.111 2003/04/18 02:44:06 hyc Exp $ */
 /*  /*
  * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.   * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file   * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
Line 212  get_filter( Line 212  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   if ( f.f_and == NULL ) {
                           f.f_choice = SLAPD_FILTER_COMPUTED;
                           f.f_result = LDAP_COMPARE_TRUE;
                   }
                 /* no assert - list could be empty */                  /* no assert - list could be empty */
                 break;                  break;
   
Line 226  get_filter( Line 230  get_filter(
                 if ( err != LDAP_SUCCESS ) {                  if ( err != LDAP_SUCCESS ) {
                         break;                          break;
                 }                  }
                   if ( f.f_or == NULL ) {
                           f.f_choice = SLAPD_FILTER_COMPUTED;
                           f.f_result = LDAP_COMPARE_FALSE;
                   }
                 /* no assert - list could be empty */                  /* no assert - list could be empty */
                 break;                  break;
   
Line 243  get_filter( Line 251  get_filter(
                 }                  }
   
                 assert( f.f_not != NULL );                  assert( f.f_not != NULL );
                   if ( f.f_not->f_choice == SLAPD_FILTER_COMPUTED ) {
                           if ( f.f_not->f_result == LDAP_COMPARE_TRUE ) {
                                   op->o_tmpfree( f.f_not, op->o_tmpmemctx );
                                   f.f_not = NULL;
                                   f.f_choice = SLAPD_FILTER_COMPUTED;
                                   f.f_result = LDAP_COMPARE_FALSE;
                           } else if ( f.f_not->f_result == LDAP_COMPARE_FALSE ) {
                                   op->o_tmpfree( f.f_not, op->o_tmpmemctx );
                                   f.f_not = NULL;
                                   f.f_choice = SLAPD_FILTER_COMPUTED;
                                   f.f_result = LDAP_COMPARE_TRUE;
                           }
                           /* Leave UNDEFINED alone */
                   }
                                   
                 break;                  break;
   
         case LDAP_FILTER_EXT:          case LDAP_FILTER_EXT:

Removed from v.1.111  
changed lines
  Added in v.1.112


______________
© Copyright 1998-2020, OpenLDAP Foundation, info@OpenLDAP.org