/* attr.c - backend routines for dealing with attributes */
/* $OpenLDAP$ */
-/*
- * Copyright 1998-2002 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * 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
+ * <http://www.OpenLDAP.org/license.html>.
*/
#include "portable.h"
static int
ainfo_type_cmp(
- AttributeDescription *desc,
- AttrInfo *a
+ const void *v_desc,
+ const void *v_a
)
{
- return desc - a->ai_desc;
+ const AttributeDescription *desc = v_desc;
+ const AttrInfo *a = v_a;
+ return SLAP_PTRCMP(desc, a->ai_desc);
}
static int
ainfo_cmp(
- AttrInfo *a,
- AttrInfo *b
+ const void *v_a,
+ const void *v_b
)
{
- return a->ai_desc - b->ai_desc;
+ const AttrInfo *a = v_a, *b = v_b;
+ return SLAP_PTRCMP(a->ai_desc, b->ai_desc);
}
void
{
AttrInfo *a;
- a = (AttrInfo *) avl_find( li->li_attrs, desc,
- (AVL_CMP) ainfo_type_cmp );
+ a = avl_find( li->li_attrs, desc, ainfo_type_cmp );
*indexmask = a != NULL ? a->ai_indexmask : 0;
}
}
if( IS_SLAP_INDEX( mask, SLAP_INDEX_APPROX ) && !(
- ( ad->ad_type->sat_approx
+ ad->ad_type->sat_approx
&& ad->ad_type->sat_approx->smr_indexer
- && ad->ad_type->sat_approx->smr_filter )
- && ( ad->ad_type->sat_equality
- && ad->ad_type->sat_equality->smr_indexer
- && ad->ad_type->sat_equality->smr_filter ) ) )
+ && ad->ad_type->sat_approx->smr_filter ) )
{
fprintf( stderr, "%s: line %d: "
"approx index of attribute \"%s\" disallowed\n",
a->ai_indexmask = mask;
rc = avl_insert( &li->li_attrs, (caddr_t) a,
- (AVL_CMP) ainfo_cmp, (AVL_DUP) avl_dup_error );
+ ainfo_cmp, avl_dup_error );
if( rc ) {
fprintf( stderr, "%s: line %d: duplicate index definition "