X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-sql%2Fentry-id.c;h=e1351b996728e409c3ebb679c34a7a3844c2fb2e;hb=72e319bd02256465a0e8c8a2bc304ec11de97378;hp=2f8b93820da1aac0ebe5d228500d2f243ad63461;hpb=c4dbe1a2744a8fb6e75dfee054604d912ba2eb98;p=openldap diff --git a/servers/slapd/back-sql/entry-id.c b/servers/slapd/back-sql/entry-id.c index 2f8b93820d..e1351b9967 100644 --- a/servers/slapd/back-sql/entry-id.c +++ b/servers/slapd/back-sql/entry-id.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2007 The OpenLDAP Foundation. + * Copyright 1999-2009 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. @@ -617,8 +617,7 @@ backsql_get_attr_vals( void *v_at, void *v_bsi ) BerVarray tmp; if ( attr->a_vals != NULL ) { - for ( ; !BER_BVISNULL( &attr->a_vals[ oldcount ] ); oldcount++ ) - /* just count */ ; + oldcount = attr->a_numvals; } tmp = ch_realloc( attr->a_vals, ( oldcount + count + 1 ) * sizeof( struct berval ) ); @@ -639,6 +638,7 @@ backsql_get_attr_vals( void *v_at, void *v_bsi ) } else { attr->a_nvals = attr->a_vals; } + attr->a_numvals += count; } else { append = 1; @@ -1042,7 +1042,7 @@ next:; } if ( ( bsi->bsi_flags & BSQL_SF_ALL_OPER ) - || an_find( bsi->bsi_attrs, &AllOper ) + || an_find( bsi->bsi_attrs, slap_bv_all_operational_attrs ) || an_find( bsi->bsi_attrs, &slap_schema.si_ad_structuralObjectClass->ad_cname ) ) { ObjectClass *soc = NULL;