X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fsyntax.c;h=688779f2f927f7ba4ba41ea2dbd6714e2f2ff5b5;hb=6e602b549420181bfe6ad55d863963a5b11544d1;hp=d808d8126a1d98dde21bfeaf49da65fb334a818b;hpb=dd66e6e9292c1a250a89865d691f836003d08517;p=openldap diff --git a/servers/slapd/syntax.c b/servers/slapd/syntax.c index d808d8126a..688779f2f9 100644 --- a/servers/slapd/syntax.c +++ b/servers/slapd/syntax.c @@ -151,7 +151,6 @@ syn_add( ssyn->ssyn_oidlen = strlen(syn->syn_oid); ssyn->ssyn_flags = def->sd_flags; ssyn->ssyn_validate = def->sd_validate; - ssyn->ssyn_normalize = def->sd_normalize; ssyn->ssyn_pretty = def->sd_pretty; #ifdef SLAPD_BINARY_CONVERSION @@ -208,12 +207,10 @@ register_syntax( int syn_schema_info( Entry *e ) { - struct berval vals[2]; - Syntax *syn; - AttributeDescription *ad_ldapSyntaxes = slap_schema.si_ad_ldapSyntaxes; - - vals[1].bv_val = NULL; + Syntax *syn; + struct berval val; + struct berval nval; LDAP_SLIST_FOREACH(syn, &syn_list, ssyn_next ) { if ( ! syn->ssyn_validate ) { @@ -225,29 +222,28 @@ syn_schema_info( Entry *e ) continue; } - if ( ldap_syntax2bv( &syn->ssyn_syn, vals ) == NULL ) { + if ( ldap_syntax2bv( &syn->ssyn_syn, &val ) == NULL ) { return -1; } #if 0 #ifdef NEW_LOGGING LDAP_LOG( config, ENTRY, "syn_schema_info: Merging syn [%ld] %s\n", - (long)vals[0].bv_len, vals[0].bv_val, 0 ); + (long)val.bv_len, val.bv_val, 0 ); #else Debug( LDAP_DEBUG_TRACE, "Merging syn [%ld] %s\n", - (long) vals[0].bv_len, vals[0].bv_val, 0 ); + (long) val.bv_len, val.bv_val, 0 ); #endif - -#endif -#ifdef SLAP_NVALUES - if( attr_merge( e, ad_ldapSyntaxes, vals, NULL /* FIXME */ ) ) -#else - if( attr_merge( e, ad_ldapSyntaxes, vals ) ) #endif + + nval.bv_val = syn->ssyn_oid; + nval.bv_len = strlen(syn->ssyn_oid); + + if( attr_merge_one( e, ad_ldapSyntaxes, &val, &nval ) ) { return -1; } - ldap_memfree( vals[0].bv_val ); + ldap_memfree( val.bv_val ); } return 0; }