]> git.sur5r.net Git - openldap/commitdiff
import fix for entry modification via callback from HEAD
authorPierangelo Masarati <ando@openldap.org>
Sat, 5 Aug 2006 16:05:04 +0000 (16:05 +0000)
committerPierangelo Masarati <ando@openldap.org>
Sat, 5 Aug 2006 16:05:04 +0000 (16:05 +0000)
servers/slapd/back-monitor/entry.c

index b6a39c4eaa5d900255d52721108d23f6b4c35721..3c85bc4eb7b2a1a2a366a8457901923b976996f9 100644 (file)
@@ -42,11 +42,7 @@ monitor_entry_update(
 
        mp = ( monitor_entry_t * )e->e_private;
 
-       if ( mp->mp_info && mp->mp_info->mss_update ) {
-               rc = mp->mp_info->mss_update( op, rs, e );
-       }
-
-       if ( rc == SLAP_CB_CONTINUE && mp->mp_cb ) {
+       if ( mp->mp_cb ) {
                struct monitor_callback_t       *mc;
 
                for ( mc = mp->mp_cb; mc; mc = mc->mc_next ) {
@@ -59,6 +55,10 @@ monitor_entry_update(
                }
        }
 
+       if ( rc == SLAP_CB_CONTINUE && mp->mp_info && mp->mp_info->mss_update ) {
+               rc = mp->mp_info->mss_update( op, rs, e );
+       }
+
        if ( rc == SLAP_CB_CONTINUE ) {
                rc = LDAP_SUCCESS;
        }
@@ -115,11 +115,7 @@ monitor_entry_modify(
 
        mp = ( monitor_entry_t * )e->e_private;
 
-       if ( mp->mp_info && mp->mp_info->mss_modify ) {
-               rc = mp->mp_info->mss_modify( op, rs, e );
-       }
-
-       if ( rc == SLAP_CB_CONTINUE && mp->mp_cb ) {
+       if ( mp->mp_cb ) {
                struct monitor_callback_t       *mc;
 
                for ( mc = mp->mp_cb; mc; mc = mc->mc_next ) {
@@ -132,6 +128,10 @@ monitor_entry_modify(
                }
        }
 
+       if ( rc == SLAP_CB_CONTINUE && mp->mp_info && mp->mp_info->mss_modify ) {
+               rc = mp->mp_info->mss_modify( op, rs, e );
+       }
+
        if ( rc == SLAP_CB_CONTINUE ) {
                rc = LDAP_SUCCESS;
        }