From 8d64beb06feacf4bd20f9e329d6b207adc955426 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20K=C4=99pie=C5=84?= Date: Tue, 14 Jun 2022 13:13:32 +0200 Subject: [PATCH] Use a switch statement in check_recursionquota() Improve readability of the check_recursionquota() function by replacing a sequence of conditional statements with a switch statement. --- lib/ns/query.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/ns/query.c b/lib/ns/query.c index 322810b66d..53e621c4db 100644 --- a/lib/ns/query.c +++ b/lib/ns/query.c @@ -6342,27 +6342,30 @@ check_recursionquota(ns_client_t *client, ns_query_rectype_t recursion_type) { isc_result_t result; result = recursionquotatype_attach_soft(client, recursion_type); - if (result == ISC_R_SOFTQUOTA) { + switch (result) { + case ISC_R_SOFTQUOTA: recursionquota_log(client, &last_soft, "recursive-clients soft limit exceeded " "(%u/%u/%u), aborting oldest query", *quotap); ns_client_killoldestquery(client); - result = ISC_R_SUCCESS; - } else if (result == ISC_R_QUOTA) { + FALLTHROUGH; + case ISC_R_SUCCESS: + break; + case ISC_R_QUOTA: recursionquota_log(client, &last_hard, "no more recursive clients (%u/%u/%u)", &client->manager->sctx->recursionquota); ns_client_killoldestquery(client); - } - if (result != ISC_R_SUCCESS) { + FALLTHROUGH; + default: return (result); } dns_message_clonebuffer(client->message); ns_client_recursing(client); - return (result); + return (ISC_R_SUCCESS); } isc_result_t