From: Vladimír Čunát Date: Tue, 5 Mar 2019 16:15:07 +0000 (+0100) Subject: resolve nitpick: simplify deep nesting in query_finalize() X-Git-Tag: v4.0.0~22^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=579e6d37006aa359838b2daed38f14ab77386aca;p=thirdparty%2Fknot-resolver.git resolve nitpick: simplify deep nesting in query_finalize() --- diff --git a/lib/resolve.c b/lib/resolve.c index c2c902875..2493bb1a3 100644 --- a/lib/resolve.c +++ b/lib/resolve.c @@ -679,35 +679,32 @@ static int answer_finalize(struct kr_request *request, int state) static int query_finalize(struct kr_request *request, struct kr_query *qry, knot_pkt_t *pkt) { - int ret = 0; knot_pkt_begin(pkt, KNOT_ADDITIONAL); - if (!(qry->flags.SAFEMODE)) { - /* Remove any EDNS records from any previous iteration. */ - ret = edns_erase_and_reserve(pkt); - if (ret == 0) { - ret = edns_create(pkt, request->answer, request); - } - if (ret == 0) { - /* Stub resolution (ask for +rd and +do) */ - if (qry->flags.STUB) { - knot_wire_set_rd(pkt->wire); - if (knot_pkt_has_dnssec(request->qsource.packet)) { - knot_edns_set_do(pkt->opt_rr); - } - if (knot_wire_get_cd(request->qsource.packet->wire)) { - knot_wire_set_cd(pkt->wire); - } - /* Full resolution (ask for +cd and +do) */ - } else { - knot_edns_set_do(pkt->opt_rr); - knot_wire_set_cd(pkt->wire); - if (qry->flags.FORWARD) { - knot_wire_set_rd(pkt->wire); - } - } + if (qry->flags.SAFEMODE) + return kr_ok(); + /* Remove any EDNS records from any previous iteration. */ + int ret = edns_erase_and_reserve(pkt); + if (ret) return ret; + ret = edns_create(pkt, request->answer, request); + if (ret) return ret; + if (qry->flags.STUB) { + /* Stub resolution (ask for +rd and +do) */ + knot_wire_set_rd(pkt->wire); + if (knot_pkt_has_dnssec(request->qsource.packet)) { + knot_edns_set_do(pkt->opt_rr); + } + if (knot_wire_get_cd(request->qsource.packet->wire)) { + knot_wire_set_cd(pkt->wire); + } + } else { + /* Full resolution (ask for +cd and +do) */ + knot_edns_set_do(pkt->opt_rr); + knot_wire_set_cd(pkt->wire); + if (qry->flags.FORWARD) { + knot_wire_set_rd(pkt->wire); } } - return ret; + return kr_ok(); } int kr_resolve_begin(struct kr_request *request, struct kr_context *ctx, knot_pkt_t *answer)