--- servers/slapd/filter.c 2000/05/16 20:04:49 1.37 +++ servers/slapd/filter.c 2000/05/17 18:08:13 1.38 @@ -1,5 +1,5 @@ /* filter.c - routines for parsing and dealing with filters */ -/* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.36 2000/05/16 19:54:24 kurt Exp $ */ +/* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.37 2000/05/16 20:04:49 kurt Exp $ */ /* * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. * COPYING RESTRICTIONS APPLY, see COPYRIGHT file @@ -94,11 +94,15 @@ get_filter( case LDAP_FILTER_EQUALITY: Debug( LDAP_DEBUG_FILTER, "EQUALITY\n", 0, 0, 0 ); - if ( (err = get_ava( ber, &f->f_ava, text )) != LDAP_SUCCESS ) { +#ifdef SLAPD_SCHEMA_NOT_COMPAT + err = get_ava( ber, &f->f_ava, SLAP_MR_EQUALITY, text ); +#else + err = get_ava( ber, &f->f_ava, text ); +#endif + if ( err != LDAP_SUCCESS ) { break; } - #ifdef SLAPD_SCHEMA_NOT_COMPAT assert( f->f_ava != NULL ); @@ -127,7 +131,12 @@ get_filter( case LDAP_FILTER_GE: Debug( LDAP_DEBUG_FILTER, "GE\n", 0, 0, 0 ); - if ( (err = get_ava( ber, &f->f_ava, text )) != LDAP_SUCCESS ) { +#ifdef SLAPD_SCHEMA_NOT_COMPAT + err = get_ava( ber, &f->f_ava, SLAP_MR_ORDERING, text ); +#else + err = get_ava( ber, &f->f_ava, text ); +#endif + if ( err != LDAP_SUCCESS ) { break; } @@ -152,10 +161,16 @@ get_filter( case LDAP_FILTER_LE: Debug( LDAP_DEBUG_FILTER, "LE\n", 0, 0, 0 ); - if ( (err = get_ava( ber, &f->f_ava, text )) != LDAP_SUCCESS ) { +#ifdef SLAPD_SCHEMA_NOT_COMPAT + err = get_ava( ber, &f->f_ava, SLAP_MR_ORDERING, text ); +#else + err = get_ava( ber, &f->f_ava, text ); +#endif + if ( err != LDAP_SUCCESS ) { break; } + #ifdef SLAPD_SCHEMA_NOT_COMPAT *fstr = ch_malloc( sizeof("(<=)") + f->f_av_desc->ad_cname->bv_len @@ -214,7 +229,12 @@ get_filter( case LDAP_FILTER_APPROX: Debug( LDAP_DEBUG_FILTER, "APPROX\n", 0, 0, 0 ); - if ( (err = get_ava( ber, &f->f_ava, text )) != LDAP_SUCCESS ) { +#ifdef SLAPD_SCHEMA_NOT_COMPAT + err = get_ava( ber, &f->f_ava, SLAP_MR_APPROX, text ); +#else + err = get_ava( ber, &f->f_ava, text ); +#endif + if ( err != LDAP_SUCCESS ) { break; }