]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slapi/slapi_pblock.c
Merge branch 'mdb.master' of ssh://git-master.openldap.org/~git/git/openldap
[openldap] / servers / slapd / slapi / slapi_pblock.c
index 0bbd91f406d6583ee4caf3166f76f7c7d1d950eb..ddb0209326232ac7ed172a2b18db2416f41a89b1 100644 (file)
@@ -1,7 +1,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 2002-2008 The OpenLDAP Foundation.
+ * Copyright 2002-2011 The OpenLDAP Foundation.
  * Portions Copyright 1997,2002-2003 IBM Corporation.
  * All rights reserved.
  *
@@ -1152,7 +1152,7 @@ pblock_set( Slapi_PBlock *pb, int param, void *value )
                        for ( i = 0; attrs[i] != NULL; i++ ) {
                                an[j].an_desc = NULL;
                                an[j].an_oc = NULL;
-                               an[j].an_oc_exclude = 0;
+                               an[j].an_flags = 0;
                                an[j].an_name.bv_val = attrs[i];
                                an[j].an_name.bv_len = strlen( attrs[i] );
                                if ( slap_bv2ad( &an[j].an_name, &an[j].an_desc, &pb->pb_rs->sr_text ) == LDAP_SUCCESS ) {
@@ -1176,13 +1176,8 @@ pblock_set( Slapi_PBlock *pb, int param, void *value )
                break;
        case SLAPI_SEARCH_RESULT_ENTRY:
                PBLOCK_ASSERT_OP( pb, 0 );
-               if ( pb->pb_rs->sr_flags & REP_ENTRY_MUSTBEFREED ) {
-                       entry_free( pb->pb_rs->sr_entry );
-               } else if ( pb->pb_rs->sr_flags & REP_ENTRY_MUSTRELEASE ) {
-                       be_entry_release_r( pb->pb_op, pb->pb_rs->sr_entry );
-                       pb->pb_rs->sr_flags ^= REP_ENTRY_MUSTRELEASE;
-               }
-               pb->pb_rs->sr_entry = (Slapi_Entry *)value;
+               rs_replace_entry( pb->pb_op, pb->pb_rs, NULL, (Slapi_Entry *)value );
+               /* TODO: Should REP_ENTRY_MODIFIABLE be set? */
                pb->pb_rs->sr_flags |= REP_ENTRY_MUSTBEFREED;
                break;
        case SLAPI_BIND_RET_SASLCREDS:
@@ -1429,4 +1424,3 @@ slapi_int_pblock_get_next( Slapi_PBlock **pb )
 }
 
 #endif /* LDAP_SLAPI */
-