--- servers/slapd/filter.c 2004/01/17 18:36:42 1.115.2.4
+++ servers/slapd/filter.c 2003/09/29 12:09:31 1.116
@@ -1,27 +1,8 @@
/* filter.c - routines for parsing and dealing with filters */
-/* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.115.2.3 2004/01/01 18:16:33 kurt Exp $ */
-/* This work is part of OpenLDAP Software .
- *
- * Copyright 1998-2004 The OpenLDAP Foundation.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted only as authorized by the OpenLDAP
- * Public License.
- *
- * A copy of this license is available in the file LICENSE in the
- * top-level directory of the distribution or, alternatively, at
- * .
- */
-/* Portions Copyright (c) 1995 Regents of the University of Michigan.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms are permitted
- * provided that this notice is preserved and that due credit is given
- * to the University of Michigan at Ann Arbor. The name of the University
- * may not be used to endorse or promote products derived from this
- * software without specific prior written permission. This software
- * is provided ``as is'' without express or implied warranty.
+/* $OpenLDAP: pkg/ldap/servers/slapd/filter.c,v 1.115 2003/04/29 18:40:26 hyc Exp $ */
+/*
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
*/
#include "portable.h"
@@ -401,7 +382,6 @@ get_ssa(
SubstringsAssertion ssa;
*text = "error decoding filter";
- *out = NULL;
#ifdef NEW_LOGGING
LDAP_LOG( FILTER, ENTRY,
@@ -590,7 +570,7 @@ return_error:
Debug( LDAP_DEBUG_FILTER, "end get_ssa\n", 0, 0, 0 );
#endif
- return rc /* LDAP_SUCCESS */ ;
+ return LDAP_SUCCESS;
}
void
@@ -667,15 +647,10 @@ filter_free( Filter *f )
void
filter2bv_x( Operation *op, Filter *f, struct berval *fstr )
{
- int i;
- Filter *p;
- struct berval tmp,
- ber_bvfalse = BER_BVC( "(?=false)" ),
- ber_bvtrue = BER_BVC( "(?=true)" ),
- ber_bvundefined = BER_BVC( "(?=undefined)" ),
- ber_bverror = BER_BVC( "(?=error)" ),
- ber_bvunknown = BER_BVC( "(?=unknown)" );
- ber_len_t len;
+ int i;
+ Filter *p;
+ struct berval tmp;
+ ber_len_t len;
if ( f == NULL ) {
ber_str2bv_x( "No filter!", sizeof("No filter!")-1, 1, fstr, op->o_tmpmemctx );
@@ -855,29 +830,21 @@ filter2bv_x( Operation *op, Filter *f, s
} break;
case SLAPD_FILTER_COMPUTED:
- switch ( f->f_result ) {
- case LDAP_COMPARE_FALSE:
- tmp = ber_bvfalse;
- break;
-
- case LDAP_COMPARE_TRUE:
- tmp = ber_bvtrue;
- break;
-
- case SLAPD_COMPARE_UNDEFINED:
- tmp = ber_bvundefined;
- break;
-
- default:
- tmp = ber_bverror;
- break;
- }
-
- ber_dupbv_x( fstr, &tmp, op->o_tmpmemctx );
+ ber_str2bv_x(
+ f->f_result == LDAP_COMPARE_FALSE ? "(?=false)" :
+ f->f_result == LDAP_COMPARE_TRUE ? "(?=true)" :
+ f->f_result == SLAPD_COMPARE_UNDEFINED ? "(?=undefined)" :
+ "(?=error)",
+ f->f_result == LDAP_COMPARE_FALSE ? sizeof("(?=false)")-1 :
+ f->f_result == LDAP_COMPARE_TRUE ? sizeof("(?=true)")-1 :
+ f->f_result == SLAPD_COMPARE_UNDEFINED ? sizeof("(?=undefined)")-1 :
+ sizeof("(?=error)")-1,
+ 1, fstr, op->o_tmpmemctx );
break;
-
+
default:
- ber_dupbv_x( fstr, &ber_bvunknown, op->o_tmpmemctx );
+ ber_str2bv_x( "(?=unknown)", sizeof("(?=unknown)")-1,
+ 1, fstr, op->o_tmpmemctx );
break;
}
}