diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-10-13 20:58:38 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-10-13 11:00:04 +0000 |
commit | 269143fa0031ef0b6d801b47aab48ff3b1414565 (patch) | |
tree | e83088e77860bd0e7dc513aaa2792a42008c9885 /source4/lib/ldb/ldb_map | |
parent | 549c044b9fe76e7d5a47a08fe73a99c87a41ddf4 (diff) | |
download | samba-269143fa0031ef0b6d801b47aab48ff3b1414565.tar.gz samba-269143fa0031ef0b6d801b47aab48ff3b1414565.tar.bz2 samba-269143fa0031ef0b6d801b47aab48ff3b1414565.zip |
s4-ldb: take advantage of ldb_match_msg_error() in more places
this gives better error checking
Diffstat (limited to 'source4/lib/ldb/ldb_map')
-rw-r--r-- | source4/lib/ldb/ldb_map/ldb_map_outbound.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/source4/lib/ldb/ldb_map/ldb_map_outbound.c b/source4/lib/ldb/ldb_map/ldb_map_outbound.c index 98cd525e86..40be94c894 100644 --- a/source4/lib/ldb/ldb_map/ldb_map_outbound.c +++ b/source4/lib/ldb/ldb_map/ldb_map_outbound.c @@ -1070,14 +1070,19 @@ int map_return_entry(struct map_context *ac, struct ldb_reply *ares) const char * const *attrs; struct ldb_context *ldb; unsigned int i; + int ret; + bool matched; ldb = ldb_module_get_ctx(ac->module); /* Merged result doesn't match original query, skip */ - if (!ldb_match_msg(ldb, ares->message, - ac->req->op.search.tree, - ac->req->op.search.base, - ac->req->op.search.scope)) { + ret = ldb_match_msg_error(ldb, ares->message, + ac->req->op.search.tree, + ac->req->op.search.base, + ac->req->op.search.scope, + &matched); + if (ret != LDB_SUCCESS) return ret; + if (!matched) { ldb_debug(ldb, LDB_DEBUG_TRACE, "ldb_map: " "Skipping record '%s': " "doesn't match original search", |