for ( dp = rq->attrs; dp; dp = dp->next ) {
Operation op2 = *op;
- SlapReply rs2 = { 0 };
+ SlapReply rs2 = {REP_RESULT};
refint_attrs *ra;
Modifications *m;
+ if ( dp->attrs == NULL ) continue; /* TODO: Is this needed? */
+
op2.o_tag = LDAP_REQ_MODIFY;
op2.orm_modlist = NULL;
op2.o_req_dn = dp->dn;
continue;
}
- rs2.sr_type = REP_RESULT;
- for ( ra = dp->attrs; ra; ra = ra->next ) {
- size_t len;
-
- /* Set our ModifiersName */
- if ( SLAP_LASTMOD( op->o_bd ) ) {
+ /* Set our ModifiersName */
+ if ( SLAP_LASTMOD( op->o_bd ) ) {
m = op2.o_tmpalloc( sizeof(Modifications) +
4*sizeof(BerValue), op2.o_tmpmemctx );
m->sml_next = op2.orm_modlist;
BER_BVZERO( &m->sml_nvalues[1] );
m->sml_values[0] = id->refint_dn;
m->sml_nvalues[0] = id->refint_ndn;
- }
+ }
+
+ for ( ra = dp->attrs; ra; ra = ra->next ) {
+ size_t len;
/* Add values */
if ( ra->dont_empty || !BER_BVISEMPTY( &rq->newdn ) ) {