]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/repl.c
Fix prev commit
[openldap] / servers / slapd / repl.c
index c4029df92517e5dabd469fed594f08a817f59e5a..5d60fc51cb8c30407d209acd5c798428da4603f6 100644 (file)
@@ -2,7 +2,7 @@
 /* $OpenLDAP$ */
 /* This work is part of OpenLDAP Software <http://www.openldap.org/>.
  *
- * Copyright 1998-2003 The OpenLDAP Foundation.
+ * Copyright 1998-2004 The OpenLDAP Foundation.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -310,10 +310,11 @@ replog1(
                                                for ( an = ri->ri_attrs; an->an_name.bv_val; an++ ) {
                                                        if ( an->an_oc ) {
                                                                ocs = 1;
+                                                               match |= an->an_oc_exclude;
                                                                if ( ml->sml_bvalues[i].bv_len == an->an_name.bv_len
                                                                        && !strcasecmp(ml->sml_bvalues[i].bv_val,
                                                                                an->an_name.bv_val ) ) {
-                                                                       match = 1 ^ an->an_oc_exclude;
+                                                                       match = !an->an_oc_exclude;
                                                                        break;
                                                                }
                                                        }
@@ -385,10 +386,11 @@ replog1(
                                                for ( an = ri->ri_attrs; an->an_name.bv_val; an++ ) {
                                                        if ( an->an_oc ) {
                                                                ocs = 1;
+                                                               match |= an->an_oc_exclude;
                                                                if ( a->a_vals[i].bv_len == an->an_name.bv_len
                                                                        && !strcasecmp(a->a_vals[i].bv_val,
                                                                                an->an_name.bv_val ) ) {
-                                                                       match = 1 ^ an->an_oc_exclude;
+                                                                       match = !an->an_oc_exclude;
                                                                        break;
                                                                }
                                                        }