*indexmask = 0;
*syntaxmask = 0;
if ( (a = (struct attrinfo *) avl_find( li->li_attrs, type,
- ainfo_type_cmp )) == NULL ) {
+ (AVL_CMP) ainfo_type_cmp )) == NULL ) {
if ( (a = (struct attrinfo *) avl_find( li->li_attrs, "default",
- ainfo_type_cmp )) == NULL ) {
+ (AVL_CMP) ainfo_type_cmp )) == NULL ) {
return;
}
}
a->ai_indexmask |= INDEX_FROMINIT;
}
- switch (avl_insert( &li->li_attrs, (caddr_t) a, ainfo_cmp, ainfo_dup )) {
+ switch (avl_insert( &li->li_attrs, (caddr_t) a,
+ (AVL_CMP) ainfo_cmp, (AVL_DUP) ainfo_dup ))
+ {
case 1: /* duplicate - updating init version */
free( a->ai_type );
free( (char *) a );
if ( argc > 1 )
charray_free( indexes );
}
+
+
+#ifdef SLAP_CLEANUP
+
+static void
+ainfo_free( void *attr )
+{
+ struct attrinfo *ai = attr;
+ free( ai->ai_type );
+ free( ai );
+}
+
+void
+attr_index_destroy( Avlnode *tree )
+{
+ avl_free( tree, ainfo_free );
+}
+
+#endif /* SLAP_CLEANUP */