}
for ( i=0; vals[i].bv_val; i++ ) {
ca->line = vals[i].bv_val;
+ ca->linelen = vals[i].bv_len;
if (( ad->ad_type->sat_flags & SLAP_AT_ORDERED_VAL ) &&
ca->line[0] == '{' ) {
char *idx = strchr( ca->line, '}' );
- if ( idx ) ca->line = idx+1;
+ if ( idx ) {
+ ca->linelen -= (idx+1) - ca->line;
+ ca->line = idx+1;
+ }
}
rc = config_parse_vals( ct, ca, i );
if ( rc ) {
char *iptr = NULL;
ca->valx = -1;
ca->line = a->a_vals[i].bv_val;
+ ca->linelen = a->a_vals[i].bv_len;
if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED ) {
ptr = strchr( ca->line, '}' );
if ( ptr ) {
iptr = strchr( ca->line, '{' );
+ ca->linelen -= (ptr+1) - ca->line;
ca->line = ptr+1;
}
}
if ( next == ca->line + 1 || next[ 0 ] != '}' ) {
return LDAP_OTHER;
}
+ ca->linelen -= (ptr+1) - ca->line;
ca->line = ptr+1;
}
}
bv.bv_val = ptr;
}
ca->line = bv.bv_val;
+ ca->linelen = bv.bv_len;
ca->valx = d->idx[i];
config_parse_vals(ct, ca, d->idx[i] );
rc = config_del_vals( ct, ca );
break;
for (i=0; ml->sml_values[i].bv_val; i++) {
ca->line = ml->sml_values[i].bv_val;
+ ca->linelen = ml->sml_values[i].bv_len;
ca->valx = -1;
rc = config_modify_add( ct, ca, ml->sml_desc, i );
if ( rc )
}
for ( i=0; !BER_BVISNULL( &s->a_vals[i] ); i++ ) {
ca->line = s->a_vals[i].bv_val;
+ ca->linelen = s->a_vals[i].bv_len;
ca->valx = -1;
config_modify_add( ct, ca, s->a_desc, i );
}
s->a_flags &= ~(SLAP_ATTR_IXDEL|SLAP_ATTR_IXADD);
for ( i=0; !BER_BVISNULL( &s->a_vals[i] ); i++ ) {
ca->line = s->a_vals[i].bv_val;
+ ca->linelen = s->a_vals[i].bv_len;
ca->valx = -1;
config_modify_add( ct, ca, s->a_desc, i );
}