From 699fb02d101d708b52cd8904f82ab455c9b00a4e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Delanoy?= Date: Fri, 14 Oct 2011 13:02:35 +0200 Subject: [PATCH] inetmib1: Avoid idempotent operation in findSupportedQuery function (Clang). --- dlls/inetmib1/main.c | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/dlls/inetmib1/main.c b/dlls/inetmib1/main.c index 76741f349ab..af9f17cb9b8 100644 --- a/dlls/inetmib1/main.c +++ b/dlls/inetmib1/main.c @@ -1342,29 +1342,26 @@ static void cleanup(void) static struct mibImplementation *findSupportedQuery(UINT *ids, UINT idLength, UINT *matchingIndex) { - int indexHigh = DEFINE_SIZEOF(supportedIDs) - 1, indexLow = 0, i; - struct mibImplementation *impl = NULL; + int indexHigh = DEFINE_SIZEOF(supportedIDs) - 1, indexLow = 0; AsnObjectIdentifier oid1 = { idLength, ids}; if (!idLength) return NULL; - for (i = (indexLow + indexHigh) / 2; !impl && indexLow <= indexHigh; - i = (indexLow + indexHigh) / 2) - { - INT cmp; - cmp = SnmpUtilOidNCmp(&oid1, &supportedIDs[i].name, idLength); - if (!cmp) + while (indexLow <= indexHigh) + { + INT cmp, i = (indexLow + indexHigh) / 2; + if (!(cmp = SnmpUtilOidNCmp(&oid1, &supportedIDs[i].name, idLength))) { - impl = &supportedIDs[i]; *matchingIndex = i; + return &supportedIDs[i]; } - else if (cmp > 0) + if (cmp > 0) indexLow = i + 1; else indexHigh = i - 1; } - return impl; + return NULL; } /*****************************************************************************