From 166207d08e15be79452dcf2adc0258924b7a9af7 Mon Sep 17 00:00:00 2001 From: Nalin Dahyabhai Date: Wed, 3 Dec 2008 18:33:27 -0500 Subject: - fix a logic error when determining if an entry which contains an attrribute used in %referred() needs other things to be updated --- src/back-shr.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/back-shr.c') diff --git a/src/back-shr.c b/src/back-shr.c index 48a4117..7725cc5 100644 --- a/src/back-shr.c +++ b/src/back-shr.c @@ -812,7 +812,8 @@ backend_shr_update_references_cb(const char *group, const char *set, } n_ref_attrs = i; if (n_ref_attrs > 0) { - /* Build the search filter. */ + /* Build the search filter: entries in this map which refer to + * this entry. */ filter = backend_build_filter(state, slapi_entry_get_sdn(cbdata->e), set_data->entry_filter, @@ -854,9 +855,9 @@ backend_shr_update_references_cb(const char *group, const char *set, inref_attrs = set_data->inref_attrs; for (i = 0; (inref_attrs != NULL) && (inref_attrs[i] != NULL); i++) { - /* We're only processing inref attributes for this map. */ - if ((strcmp(inref_attrs[i]->group, group) != 0) || - (strcmp(inref_attrs[i]->set, set) != 0)) { + /* We're only processing inref attributes for other maps. */ + if ((strcmp(inref_attrs[i]->group, group) == 0) && + (strcmp(inref_attrs[i]->set, set) == 0)) { continue; } /* Extract the named attribute from the entry. */ -- cgit