ca.be = be;
snprintf( ca.log, sizeof( ca.log ), "%s: line %d",
ca.fname, ca.lineno );
+ ca.op = SLAP_CONFIG_ADD;
+ ca.valx = -1;
for (; on; on=on->on_next) {
rc = SLAP_CONF_UNKNOWN;
if ( !ct ) continue; /* user data? */
for (i=0; a->a_vals[i].bv_val; i++) {
char *iptr = NULL;
+ ca->valx = -1;
ca->line = a->a_vals[i].bv_val;
if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED ) {
ptr = strchr( ca->line, '}' );
if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED_SIB ) {
if ( iptr ) {
ca->valx = strtol( iptr+1, NULL, 0 );
- } else {
- ca->valx = -1;
}
} else {
ca->valx = i;
{
int rc;
+ ca->valx = -1;
if (ad->ad_type->sat_flags & SLAP_AT_ORDERED &&
ca->line[0] == '{' )
{
switch ( c->type ) {
case RWM_CF_REWRITE:
if ( c->valx >= 0 ) {
- /* single modification is not allowed */
rc = 1;
} else if ( rwmap->rwm_rw != NULL ) {
switch ( c->type ) {
case RWM_CF_REWRITE:
+ if ( c->valx >= 0 ) {
+ return 1;
+ }
+
argv0 = c->argv[ idx0 ];
if ( strncasecmp( argv0, "rwm-", STRLENOF( "rwm-" ) ) != 0 ) {
return 1;
break;
case RWM_CF_MAP:
+ if ( c->valx >= 0 ) {
+ return 1;
+ }
+
argv0 = c->argv[ 0 ];
c->argv[ 0 ] += STRLENOF( "rwm-" );
rc = rwm_m_config( &db, c->fname, c->lineno, c->argc, c->argv );