mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-01-30 13:30:57 +08:00
Changed struct berval ** to BVarray
This commit is contained in:
parent
f59fc68beb
commit
4aa2a28692
@ -54,7 +54,7 @@ monitor_subsys_backend_init(
|
||||
Entry *e, *e_backend, *e_tmp;
|
||||
int i;
|
||||
struct monitorentrypriv *mp;
|
||||
struct berval *bv[2], val;
|
||||
struct berval bv[2];
|
||||
|
||||
mi = ( struct monitorinfo * )be->be_private;
|
||||
|
||||
@ -76,8 +76,7 @@ monitor_subsys_backend_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
bv[0] = &val;
|
||||
bv[1] = NULL;
|
||||
bv[1].bv_val = NULL;
|
||||
e_tmp = NULL;
|
||||
for ( i = nBackendInfo; i--; ) {
|
||||
char buf[1024];
|
||||
@ -118,8 +117,8 @@ monitor_subsys_backend_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = bi->bi_type;
|
||||
val.bv_len = strlen( val.bv_val );
|
||||
bv[0].bv_val = bi->bi_type;
|
||||
bv[0].bv_len = strlen( bv[0].bv_val );
|
||||
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
attr_merge( e_backend, monitor_ad_desc, bv );
|
||||
|
@ -51,7 +51,7 @@ monitor_subsys_conn_init(
|
||||
Entry *e, *e_tmp, *e_conn;
|
||||
struct monitorentrypriv *mp;
|
||||
char buf[1024];
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
assert( be != NULL );
|
||||
|
||||
@ -108,8 +108,9 @@ monitor_subsys_conn_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -244,8 +245,8 @@ monitor_subsys_conn_update(
|
||||
}
|
||||
|
||||
snprintf( buf, sizeof( buf ), "%ld", n );
|
||||
ber_bvfree( a->a_vals[ 0 ] );
|
||||
a->a_vals[ 0 ] = ber_bvstrdup( buf );
|
||||
free( a->a_vals[ 0 ].bv_val );
|
||||
ber_str2bv( buf, 0, 1, a->a_vals );
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
@ -263,7 +264,7 @@ conn_create(
|
||||
char buf2[22];
|
||||
char buf3[22];
|
||||
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
Entry *e;
|
||||
|
||||
@ -346,8 +347,9 @@ conn_create(
|
||||
buf3
|
||||
);
|
||||
|
||||
val.bv_val = buf;
|
||||
val.bv_len = strlen( buf );
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = buf;
|
||||
bv[0].bv_len = strlen( buf );
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
|
@ -51,7 +51,7 @@ monitor_subsys_database_init(
|
||||
int i;
|
||||
struct monitorentrypriv *mp;
|
||||
AttributeDescription *ad_nc = slap_schema.si_ad_namingContexts;
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
assert( be != NULL );
|
||||
assert( monitor_ad_desc != NULL );
|
||||
@ -116,12 +116,13 @@ monitor_subsys_database_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = be->bd_info->bi_type;
|
||||
val.bv_len = strlen( val.bv_val );
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = be->bd_info->bi_type;
|
||||
bv[0].bv_len = strlen( bv[0].bv_val );
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
for ( j = 0; be->be_suffix[j]; j++ ) {
|
||||
val = *be->be_suffix[j];
|
||||
bv[0] = *be->be_suffix[j];
|
||||
|
||||
attr_merge( e, ad_nc, bv );
|
||||
attr_merge( e_database, ad_nc, bv );
|
||||
|
@ -89,7 +89,7 @@ monitor_subsys_log_init(
|
||||
struct monitorinfo *mi;
|
||||
Entry *e;
|
||||
int i;
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
ldap_pvt_thread_mutex_init( &monitor_log_mutex );
|
||||
|
||||
@ -112,11 +112,13 @@ monitor_subsys_log_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
bv[1].bv_val = NULL;
|
||||
|
||||
/* initialize the debug level */
|
||||
for ( i = 0; int_2_level[ i ].i != 0; i++ ) {
|
||||
if ( int_2_level[ i ].i & ldap_syslog ) {
|
||||
val.bv_val = ( char * )int_2_level[ i ].s;
|
||||
val.bv_len = strlen( val.bv_val );
|
||||
bv[0].bv_val = ( char * )int_2_level[ i ].s;
|
||||
bv[0].bv_len = strlen( bv[0].bv_val );
|
||||
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
}
|
||||
@ -271,21 +273,21 @@ check_constraints( Modification *mod, int *newlevel )
|
||||
{
|
||||
int i;
|
||||
|
||||
for ( i = 0; mod->sm_bvalues && mod->sm_bvalues[i] != NULL; i++ ) {
|
||||
for ( i = 0; mod->sm_bvalues && mod->sm_bvalues[i].bv_val != NULL; i++ ) {
|
||||
int l;
|
||||
const char *s;
|
||||
ber_len_t len;
|
||||
|
||||
l = loglevel2int( mod->sm_bvalues[i]->bv_val );
|
||||
l = loglevel2int( mod->sm_bvalues[i].bv_val );
|
||||
if ( !l ) {
|
||||
return LDAP_CONSTRAINT_VIOLATION;
|
||||
}
|
||||
|
||||
s = int2loglevel( l );
|
||||
len = strlen( s );
|
||||
assert( len == mod->sm_bvalues[i]->bv_len );
|
||||
assert( len == mod->sm_bvalues[i].bv_len );
|
||||
|
||||
AC_MEMCPY( mod->sm_bvalues[i]->bv_val, s, len );
|
||||
AC_MEMCPY( mod->sm_bvalues[i].bv_val, s, len );
|
||||
|
||||
*newlevel |= l;
|
||||
}
|
||||
@ -314,7 +316,7 @@ add_values( Entry *e, Modification *mod, int *newlevel )
|
||||
return LDAP_INAPPROPRIATE_MATCHING;
|
||||
}
|
||||
|
||||
for ( i = 0; mod->sm_bvalues[i] != NULL; i++ ) {
|
||||
for ( i = 0; mod->sm_bvalues[i].bv_val != NULL; i++ ) {
|
||||
int rc;
|
||||
int j;
|
||||
const char *text = NULL;
|
||||
@ -322,7 +324,7 @@ add_values( Entry *e, Modification *mod, int *newlevel )
|
||||
|
||||
rc = value_normalize( mod->sm_desc,
|
||||
SLAP_MR_EQUALITY,
|
||||
mod->sm_bvalues[i],
|
||||
&mod->sm_bvalues[i],
|
||||
&asserted,
|
||||
&text );
|
||||
|
||||
@ -330,11 +332,11 @@ add_values( Entry *e, Modification *mod, int *newlevel )
|
||||
return rc;
|
||||
}
|
||||
|
||||
for ( j = 0; a->a_vals[j] != NULL; j++ ) {
|
||||
for ( j = 0; a->a_vals[j].bv_val != NULL; j++ ) {
|
||||
int match;
|
||||
int rc = value_match( &match, mod->sm_desc, mr,
|
||||
SLAP_MR_VALUE_SYNTAX_MATCH,
|
||||
a->a_vals[j], &asserted, &text );
|
||||
&a->a_vals[j], &asserted, &text );
|
||||
|
||||
if ( rc == LDAP_SUCCESS && match == 0 ) {
|
||||
free( asserted.bv_val );
|
||||
@ -348,7 +350,7 @@ add_values( Entry *e, Modification *mod, int *newlevel )
|
||||
|
||||
/* no - add them */
|
||||
if ( attr_merge( e, mod->sm_desc, mod->sm_bvalues ) != 0 ) {
|
||||
/* this should return result return of attr_merge */
|
||||
/* this should return result of attr_merge */
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
|
||||
@ -394,7 +396,7 @@ delete_values( Entry *e, Modification *mod, int *newlevel )
|
||||
}
|
||||
|
||||
/* find each value to delete */
|
||||
for ( i = 0; mod->sm_bvalues[i] != NULL; i++ ) {
|
||||
for ( i = 0; mod->sm_bvalues[i].bv_val != NULL; i++ ) {
|
||||
int rc;
|
||||
const char *text = NULL;
|
||||
|
||||
@ -402,18 +404,18 @@ delete_values( Entry *e, Modification *mod, int *newlevel )
|
||||
|
||||
rc = value_normalize( mod->sm_desc,
|
||||
SLAP_MR_EQUALITY,
|
||||
mod->sm_bvalues[i],
|
||||
&mod->sm_bvalues[i],
|
||||
&asserted,
|
||||
&text );
|
||||
|
||||
if( rc != LDAP_SUCCESS ) return rc;
|
||||
|
||||
found = 0;
|
||||
for ( j = 0; a->a_vals[j] != NULL; j++ ) {
|
||||
for ( j = 0; a->a_vals[j].bv_val != NULL; j++ ) {
|
||||
int match;
|
||||
int rc = value_match( &match, mod->sm_desc, mr,
|
||||
SLAP_MR_VALUE_SYNTAX_MATCH,
|
||||
a->a_vals[j], &asserted, &text );
|
||||
&a->a_vals[j], &asserted, &text );
|
||||
|
||||
if( rc == LDAP_SUCCESS && match != 0 ) {
|
||||
continue;
|
||||
@ -423,11 +425,11 @@ delete_values( Entry *e, Modification *mod, int *newlevel )
|
||||
found = 1;
|
||||
|
||||
/* delete it */
|
||||
ber_bvfree( a->a_vals[j] );
|
||||
for ( k = j + 1; a->a_vals[k] != NULL; k++ ) {
|
||||
free( a->a_vals[j].bv_val );
|
||||
for ( k = j + 1; a->a_vals[k].bv_val != NULL; k++ ) {
|
||||
a->a_vals[k - 1] = a->a_vals[k];
|
||||
}
|
||||
a->a_vals[k - 1] = NULL;
|
||||
a->a_vals[k - 1].bv_val = NULL;
|
||||
|
||||
break;
|
||||
}
|
||||
@ -441,7 +443,7 @@ delete_values( Entry *e, Modification *mod, int *newlevel )
|
||||
}
|
||||
|
||||
/* if no values remain, delete the entire attribute */
|
||||
if ( a->a_vals[0] == NULL ) {
|
||||
if ( a->a_vals[0].bv_val == NULL ) {
|
||||
/* should already be zero */
|
||||
*newlevel = 0;
|
||||
|
||||
|
@ -51,7 +51,7 @@ monitor_subsys_ops_init(
|
||||
Entry *e, *e_tmp, *e_op;
|
||||
struct monitorentrypriv *mp;
|
||||
char buf[1024];
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
assert( be != NULL );
|
||||
|
||||
@ -108,8 +108,9 @@ monitor_subsys_ops_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -170,8 +171,8 @@ monitor_subsys_ops_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -242,8 +243,8 @@ monitor_subsys_ops_update(
|
||||
}
|
||||
|
||||
snprintf( buf, sizeof( buf ), "%ld", n );
|
||||
ber_bvfree( a->a_vals[ 0 ] );
|
||||
a->a_vals[ 0 ] = ber_bvstrdup( buf );
|
||||
free( a->a_vals[ 0 ].bv_val );
|
||||
ber_str2bv( buf, 0, 1, a->a_vals );
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
|
@ -73,20 +73,16 @@ monitor_subsys_readw_update_internal(
|
||||
int nconns, nwritewaiters, nreadwaiters;
|
||||
|
||||
Attribute *a;
|
||||
struct berval *bv[2], val, **b = NULL;
|
||||
struct berval bv[2], *b = NULL;
|
||||
char buf[1024];
|
||||
|
||||
char *str = NULL;
|
||||
int num = 0;
|
||||
|
||||
bv[0] = &val;
|
||||
bv[1] = NULL;
|
||||
|
||||
assert( mi != NULL );
|
||||
assert( e != NULL );
|
||||
|
||||
bv[0] = &val;
|
||||
bv[1] = NULL;
|
||||
bv[1].bv_val = NULL;
|
||||
|
||||
nconns = nwritewaiters = nreadwaiters = 0;
|
||||
for ( c = connection_first( &connindex );
|
||||
@ -114,18 +110,18 @@ monitor_subsys_readw_update_internal(
|
||||
snprintf( buf, sizeof( buf ), "%s=%d", str, num );
|
||||
|
||||
if ( ( a = attr_find( e->e_attrs, monitor_ad_desc ) ) != NULL ) {
|
||||
for ( b = a->a_vals; b[0] != NULL; b++ ) {
|
||||
if ( strncmp( b[0]->bv_val, str, strlen( str ) ) == 0 ) {
|
||||
ber_bvfree( b[0] );
|
||||
b[0] = ber_bvstrdup( buf );
|
||||
for ( b = a->a_vals; b[0].bv_val != NULL; b++ ) {
|
||||
if ( strncmp( b[0].bv_val, str, strlen( str ) ) == 0 ) {
|
||||
free( b[0].bv_val );
|
||||
ber_str2bv( buf, 0, 1, b );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( b == NULL || b[0] == NULL ) {
|
||||
val.bv_val = buf;
|
||||
val.bv_len = strlen( buf );
|
||||
if ( b == NULL || b[0].bv_val == NULL ) {
|
||||
bv[0].bv_val = buf;
|
||||
bv[0].bv_len = strlen( buf );
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
}
|
||||
|
||||
|
@ -149,7 +149,7 @@ monitor_back_search(
|
||||
int slimit,
|
||||
int tlimit,
|
||||
Filter *filter,
|
||||
const char *filterstr,
|
||||
struct berval *filterstr,
|
||||
AttributeName *attrs,
|
||||
int attrsonly
|
||||
)
|
||||
|
@ -51,7 +51,7 @@ monitor_subsys_sent_init(
|
||||
Entry *e, *e_tmp, *e_sent;
|
||||
struct monitorentrypriv *mp;
|
||||
char buf[1024];
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
|
||||
assert( be != NULL );
|
||||
|
||||
@ -108,8 +108,9 @@ monitor_subsys_sent_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -170,8 +171,8 @@ monitor_subsys_sent_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -232,8 +233,8 @@ monitor_subsys_sent_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -294,8 +295,8 @@ monitor_subsys_sent_init(
|
||||
return( -1 );
|
||||
}
|
||||
|
||||
val.bv_val = "0";
|
||||
val.bv_len = 1;
|
||||
bv[0].bv_val = "0";
|
||||
bv[0].bv_len = 1;
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
mp = ( struct monitorentrypriv * )ch_calloc( sizeof( struct monitorentrypriv ), 1 );
|
||||
@ -378,8 +379,8 @@ monitor_subsys_sent_update(
|
||||
}
|
||||
|
||||
snprintf( buf, sizeof( buf ), "%ld", n );
|
||||
ber_bvfree( a->a_vals[ 0 ] );
|
||||
a->a_vals[ 0 ] = ber_bvstrdup( buf );
|
||||
free( a->a_vals[ 0 ].bv_val );
|
||||
ber_str2bv( buf, 0, 1, a->a_vals );
|
||||
}
|
||||
|
||||
return( 0 );
|
||||
|
@ -51,7 +51,7 @@ monitor_subsys_thread_init(
|
||||
{
|
||||
struct monitorinfo *mi;
|
||||
Entry *e;
|
||||
struct berval val, *bv[2] = { &val, NULL };
|
||||
struct berval bv[2];
|
||||
static char buf[1024];
|
||||
|
||||
mi = ( struct monitorinfo * )be->be_private;
|
||||
@ -75,8 +75,9 @@ monitor_subsys_thread_init(
|
||||
/* initialize the thread number */
|
||||
snprintf( buf, sizeof( buf ), "max=%d", connection_pool_max );
|
||||
|
||||
val.bv_val = buf;
|
||||
val.bv_len = strlen( val.bv_val );
|
||||
bv[1].bv_val = NULL;
|
||||
bv[0].bv_val = buf;
|
||||
bv[0].bv_len = strlen( bv[0].bv_val );
|
||||
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
|
||||
@ -92,30 +93,29 @@ monitor_subsys_thread_update(
|
||||
)
|
||||
{
|
||||
Attribute *a;
|
||||
struct berval *bv[2], val, **b = NULL;
|
||||
struct berval bv[2], *b = NULL;
|
||||
char buf[1024];
|
||||
|
||||
bv[0] = &val;
|
||||
bv[1] = NULL;
|
||||
bv[1].bv_val = NULL;
|
||||
|
||||
snprintf( buf, sizeof( buf ), "backload=%d",
|
||||
ldap_pvt_thread_pool_backload( &connection_pool ) );
|
||||
|
||||
if ( ( a = attr_find( e->e_attrs, monitor_ad_desc ) ) != NULL ) {
|
||||
|
||||
for ( b = a->a_vals; b[0] != NULL; b++ ) {
|
||||
if ( strncmp( b[0]->bv_val, "backload=",
|
||||
for ( b = a->a_vals; b[0].bv_val != NULL; b++ ) {
|
||||
if ( strncmp( b[0].bv_val, "backload=",
|
||||
sizeof( "backload=" ) - 1 ) == 0 ) {
|
||||
ber_bvfree( b[0] );
|
||||
b[0] = ber_bvstrdup( buf );
|
||||
free( b[0].bv_val );
|
||||
ber_str2bv( buf, 0, 1, &b[0] );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( b == NULL || b[0] == NULL ) {
|
||||
val.bv_val = buf;
|
||||
val.bv_len = strlen( buf );
|
||||
if ( b == NULL || b[0].bv_val == NULL ) {
|
||||
bv[0].bv_val = buf;
|
||||
bv[0].bv_len = strlen( buf );
|
||||
attr_merge( e, monitor_ad_desc, bv );
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user