From 9ef2c7096341f849bd1b52bf92e01936c3869eee Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 25 Aug 2009 12:38:47 +0200 Subject: [PATCH] s3:winbind: simplify wb_seqnums_done a bit --- source3/winbindd/wb_seqnums.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/source3/winbindd/wb_seqnums.c b/source3/winbindd/wb_seqnums.c index e6efb9b99ab..604ba00505e 100644 --- a/source3/winbindd/wb_seqnums.c +++ b/source3/winbindd/wb_seqnums.c @@ -98,24 +98,33 @@ static void wb_seqnums_done(struct tevent_req *subreq) for (i=0; inum_domains; i++) { if (subreq == state->subreqs[i]) { - state->subreqs[i] = NULL; - state->stati[i] = status; - if (NT_STATUS_IS_OK(status)) { - state->seqnums[i] = seqnum; - - /* - * This first assignment might be removed - * later - */ - state->domains[i]->sequence_number = seqnum; - - wcache_store_seqnum(state->domains[i]->name, - state->seqnums[i], - time(NULL)); - } break; } } + if (i < state->num_domains) { + /* found one */ + + state->subreqs[i] = NULL; + state->stati[i] = status; + if (NT_STATUS_IS_OK(status)) { + state->seqnums[i] = seqnum; + + /* + * This first assignment might be removed + * later + */ + state->domains[i]->sequence_number = seqnum; + + if (!wcache_store_seqnum(state->domains[i]->name, + state->seqnums[i], + time(NULL))) { + DEBUG(1, ("wcache_store_seqnum failed for " + "domain %s\n", + state->domains[i]->name)); + } + } + } + TALLOC_FREE(subreq); state->num_received += 1; -- 2.11.4.GIT