errno = save_errno;
/* $NO_RS_ASSERT > 0: ignore rs_asserts, 0: abort, < 0: just warn */
- if ( !no_assert /* from $NO_RS_ASSERT */ ) abort();
+ if ( !no_assert /* from $NO_RS_ASSERT */ ) abort();
}
/* SlapReply is consistent */
* Return nonzero if rs->sr_entry was replaced.
*/
int
-rs_ensure_entry_modifiable( Operation *op, SlapReply *rs, slap_overinst *on )
+rs_entry2modifiable( Operation *op, SlapReply *rs, slap_overinst *on )
{
if ( rs->sr_flags & REP_ENTRY_MODIFIABLE ) {
rs_assert_ok( rs );
#endif
if ( op->o_res_ber ) {
/* read back control */
- rc = ber_printf( ber, "{O{" /*}}*/, &rs->sr_entry->e_name );
+ rc = ber_printf( ber, "t{O{" /*}}*/,
+ LDAP_RES_SEARCH_ENTRY, &rs->sr_entry->e_name );
} else {
rc = ber_printf( ber, "{it{O{" /*}}}*/, op->o_msgid,
LDAP_RES_SEARCH_ENTRY, &rs->sr_entry->e_name );
}
rs->sr_attr_flags = SLAP_ATTRS_UNDEFINED;
- /* FIXME: I think rs->sr_type should be explicitly set to
- * REP_SEARCH here. That's what it was when we entered this
- * function. send_ldap_error may have changed it, but we
- * should set it back so that the cleanup functions know
- * what they're doing.
- *
- * ...No, that's what we set it to on entering this function.
- * And we may have to clear out rs->sr_un.sru_search first,
- * if it can contain data from sr_un.sru_extended.
- */
if ( op->o_tag == LDAP_REQ_SEARCH && rs->sr_type == REP_SEARCH ) {
rs_flush_entry( op, rs, NULL );
} else {
myop.o_res_ber = ber;
myop.o_callback = NULL;
myop.ors_slimit = 1;
+ myop.ors_attrsonly = 0;
rc = slap_send_search_entry( &myop, rs );
if( rc ) return rc;