static int
syn_index_cmp(
- struct sindexrec *sir1,
- struct sindexrec *sir2
+ const void *v_sir1,
+ const void *v_sir2
)
{
+ const struct sindexrec *sir1 = v_sir1, *sir2 = v_sir2;
return (strcmp( sir1->sir_name, sir2->sir_name ));
}
static int
syn_index_name_cmp(
- const char *name,
- struct sindexrec *sir
+ const void *name,
+ const void *sir
)
{
- return (strcmp( name, sir->sir_name ));
+ return (strcmp( name, ((const struct sindexrec *)sir)->sir_name ));
}
Syntax *
{
struct sindexrec *sir = NULL;
- if ( (sir = (struct sindexrec *) avl_find( syn_index, synname,
- (AVL_CMP) syn_index_name_cmp )) != NULL ) {
+ if ( (sir = avl_find( syn_index, synname, syn_index_name_cmp )) != NULL ) {
return( sir->sir_syn );
}
return( NULL );
if ( ssyn->ssyn_oid ) {
sir = (struct sindexrec *)
- ch_calloc( 1, sizeof(struct sindexrec) );
+ SLAP_CALLOC( 1, sizeof(struct sindexrec) );
+ if( sir == NULL ) {
+#ifdef NEW_LOGGING
+ LDAP_LOG( OPERATION, ERR,
+ "syn_insert: SLAP_CALLOC Error\n", 0, 0, 0 );
+#else
+ Debug( LDAP_DEBUG_ANY, "SLAP_CALLOC Error\n", 0, 0, 0 );
+#endif
+ return LDAP_OTHER;
+ }
sir->sir_name = ssyn->ssyn_oid;
sir->sir_syn = ssyn;
if ( avl_insert( &syn_index, (caddr_t) sir,
- (AVL_CMP) syn_index_cmp,
- (AVL_DUP) avl_dup_error ) ) {
+ syn_index_cmp, avl_dup_error ) ) {
*err = ssyn->ssyn_oid;
ldap_memfree(sir);
return SLAP_SCHERR_SYN_DUP;
Syntax *ssyn;
int code;
- ssyn = (Syntax *) ch_calloc( 1, sizeof(Syntax) );
+ ssyn = (Syntax *) SLAP_CALLOC( 1, sizeof(Syntax) );
+ if( ssyn == NULL ) {
+#ifdef NEW_LOGGING
+ LDAP_LOG( OPERATION, ERR,
+ "syn_add: SLAP_CALLOC Error\n", 0, 0, 0 );
+#else
+ Debug( LDAP_DEBUG_ANY, "SLAP_CALLOC Error\n", 0, 0, 0 );
+#endif
+ return LDAP_OTHER;
+ }
AC_MEMCPY( &ssyn->ssyn_syn, syn, sizeof(LDAPSyntax) );
return( 0 );
}
-#if defined( SLAPD_SCHEMA_DN )
-
int
syn_schema_info( Entry *e )
{
#endif
#endif
- attr_merge( e, ad_ldapSyntaxes, vals );
+ if( attr_merge( e, ad_ldapSyntaxes, vals ) )
+ return -1;
ldap_memfree( vals[0].bv_val );
}
return 0;
}
-#endif