diff options
author | Andrew Tridgell <tridge@samba.org> | 2010-01-07 10:22:26 +1100 |
---|---|---|
committer | Andrew Tridgell <tridge@samba.org> | 2010-01-08 13:03:03 +1100 |
commit | f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a (patch) | |
tree | 0f5dca5301222af801669cf5aca81d89b8e95809 | |
parent | 9672a3d1cc17dd800403a9987602403b8c6e757f (diff) | |
download | samba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.tar.gz samba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.tar.bz2 samba-f7756c87bb8bd1eba8d7f92cfbc797db42d3de4a.zip |
s4-partition: don't ignore errors from other modules
if we get an error code from a lower module, we don't want to ignore
it just because something also succeeded
-rw-r--r-- | source4/dsdb/samdb/ldb_modules/partition.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/source4/dsdb/samdb/ldb_modules/partition.c b/source4/dsdb/samdb/ldb_modules/partition.c index 01ae0a10a7..b879bc4106 100644 --- a/source4/dsdb/samdb/ldb_modules/partition.c +++ b/source4/dsdb/samdb/ldb_modules/partition.c @@ -39,7 +39,6 @@ struct part_request { struct partition_context { struct ldb_module *module; struct ldb_request *req; - bool got_success; struct part_request *part_req; int num_requests; @@ -160,7 +159,7 @@ static int partition_req_callback(struct ldb_request *req, } } - if (ares->error != LDB_SUCCESS && !ac->got_success) { + if (ares->error != LDB_SUCCESS) { return ldb_module_done(ac->req, ares->controls, ares->response, ares->error); } @@ -182,9 +181,6 @@ static int partition_req_callback(struct ldb_request *req, return ldb_module_send_entry(ac->req, ares->message, ares->controls); case LDB_REPLY_DONE: - if (ares->error == LDB_SUCCESS) { - ac->got_success = true; - } if (ac->req->operation == LDB_EXTENDED) { /* FIXME: check for ares->response, replmd does not fill it ! */ if (ares->response) { @@ -205,7 +201,7 @@ static int partition_req_callback(struct ldb_request *req, /* this was the last one, call callback */ return ldb_module_done(ac->req, ares->controls, ares->response, - ac->got_success?LDB_SUCCESS:ares->error); + ares->error); } /* not the last, now call the next one */ |