struct wb_xids2sids_dom_state {
struct tevent_context *ev;
struct unixid *all_xids;
+ const bool *cached;
size_t num_all_xids;
struct dom_sid *all_sids;
struct wb_xids2sids_dom_map *dom_map;
static struct tevent_req *wb_xids2sids_dom_send(
TALLOC_CTX *mem_ctx, struct tevent_context *ev,
struct wb_xids2sids_dom_map *dom_map,
- struct unixid *xids, size_t num_xids, struct dom_sid *sids)
+ struct unixid *xids,
+ const bool *cached,
+ size_t num_xids,
+ struct dom_sid *sids)
{
struct tevent_req *req, *subreq;
struct wb_xids2sids_dom_state *state;
}
state->ev = ev;
state->all_xids = xids;
+ state->cached = cached;
state->num_all_xids = num_xids;
state->all_sids = sids;
state->dom_map = dom_map;
/* out of range */
continue;
}
- if (!is_null_sid(&state->all_sids[i])) {
+ if (state->cached[i]) {
/* already mapped */
continue;
}
/* out of range */
continue;
}
- if (!is_null_sid(&state->all_sids[i])) {
+ if (state->cached[i]) {
/* already mapped */
continue;
}
subreq = wb_xids2sids_dom_send(
state, state->ev, &dom_maps[state->dom_idx],
- state->xids, state->num_xids, state->sids);
+ state->xids, state->cached, state->num_xids, state->sids);
if (tevent_req_nomem(subreq, req)) {
return;
}
state->ev,
&dom_maps[state->dom_idx],
state->xids,
+ state->cached,
state->num_xids,
state->sids);
if (tevent_req_nomem(subreq, req)) {