diff options
-rw-r--r-- | src/back-shr.c | 9 |
1 files changed, 5 insertions, 4 deletions
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. */ |