From 5e9b2818eb9811b957f74ba8ad64f00fb62e8ea0 Mon Sep 17 00:00:00 2001 From: Simon Lin Date: Wed, 22 Jul 2020 00:41:40 +0800 Subject: [PATCH] [style] convert to C++11 for loops (#5263) --- src/cli/cli.cpp | 32 +++--- src/cli/cli_coap.cpp | 10 +- src/cli/cli_coap_secure.cpp | 10 +- src/cli/cli_commissioner.cpp | 10 +- src/cli/cli_dataset.cpp | 10 +- src/cli/cli_joiner.cpp | 10 +- src/cli/cli_udp.cpp | 10 +- src/core/common/message.cpp | 4 +- src/core/common/notifier.cpp | 18 +-- src/core/diags/factory_diags.cpp | 8 +- src/core/meshcop/meshcop.cpp | 6 +- src/core/net/dhcp6_client.cpp | 89 +++++++-------- src/core/net/dhcp6_server.cpp | 30 ++--- src/core/net/ip6_filter.cpp | 18 +-- src/core/thread/address_resolver.cpp | 25 ++-- src/core/thread/child_mask.hpp | 4 +- src/core/thread/mesh_forwarder_ftd.cpp | 6 +- src/core/thread/mle.cpp | 28 ++--- src/core/thread/topology.cpp | 14 +-- src/core/utils/channel_monitor.cpp | 4 +- src/lib/spinel/spinel_buffer.cpp | 10 +- src/ncp/ncp_base_mtd.cpp | 6 +- tests/unit/test_child.cpp | 5 +- tests/unit/test_child_table.cpp | 8 +- tests/unit/test_ip6_address.cpp | 8 +- tests/unit/test_mac_frame.cpp | 18 +-- tests/unit/test_message.cpp | 4 +- tests/unit/test_message_queue.cpp | 152 ++++++++++++------------- tests/unit/test_network_data.cpp | 12 +- tests/unit/test_pool.cpp | 8 +- tests/unit/test_timer.cpp | 16 +-- 31 files changed, 284 insertions(+), 309 deletions(-) diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 169cf1f8f..dbffc3346 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -450,9 +450,9 @@ void Interpreter::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (unsigned int i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mServer->OutputFormat("%s\r\n", command.mName); } for (uint8_t i = 0; i < mUserCommandsLength; i++) @@ -876,9 +876,9 @@ void Interpreter::ProcessChild(uint8_t aArgsLength, char *aArgs[]) mServer->OutputFormat("|%1d", childInfo.mFullNetworkData); mServer->OutputFormat("| "); - for (size_t j = 0; j < sizeof(childInfo.mExtAddress); j++) + for (uint8_t b : childInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", childInfo.mExtAddress.m8[j]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat(" |\r\n"); @@ -900,9 +900,9 @@ void Interpreter::ProcessChild(uint8_t aArgsLength, char *aArgs[]) mServer->OutputFormat("Rloc: %04x\r\n", childInfo.mRloc16); mServer->OutputFormat("Ext Addr: "); - for (size_t j = 0; j < sizeof(childInfo.mExtAddress); j++) + for (uint8_t b : childInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", childInfo.mExtAddress.m8[j]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat("\r\n"); @@ -1837,9 +1837,9 @@ void Interpreter::ProcessPskc(uint8_t aArgsLength, char *aArgs[]) { const otPskc *pskc = otThreadGetPskc(mInstance); - for (int i = 0; i < OT_PSKC_MAX_SIZE; i++) + for (uint8_t b : pskc->m8) { - mServer->OutputFormat("%02x", pskc->m8[i]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat("\r\n"); @@ -2000,9 +2000,9 @@ void Interpreter::ProcessNeighbor(uint8_t aArgsLength, char *aArgs[]) mServer->OutputFormat("|%1d", neighborInfo.mFullNetworkData); mServer->OutputFormat("| "); - for (size_t j = 0; j < sizeof(neighborInfo.mExtAddress); j++) + for (uint8_t b : neighborInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", neighborInfo.mExtAddress.m8[j]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat(" |\r\n"); @@ -2321,9 +2321,9 @@ void Interpreter::ProcessParent(uint8_t aArgsLength, char *aArgs[]) SuccessOrExit(error = otThreadGetParentInfo(mInstance, &parentInfo)); mServer->OutputFormat("Ext Addr: "); - for (size_t i = 0; i < sizeof(parentInfo.mExtAddress); i++) + for (uint8_t b : parentInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", parentInfo.mExtAddress.m8[i]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat("\r\n"); @@ -3163,9 +3163,9 @@ void Interpreter::ProcessRouter(uint8_t aArgsLength, char *aArgs[]) mServer->OutputFormat("| %3d ", routerInfo.mAge); mServer->OutputFormat("| "); - for (size_t j = 0; j < sizeof(routerInfo.mExtAddress); j++) + for (uint8_t b : routerInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", routerInfo.mExtAddress.m8[j]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat(" |\r\n"); @@ -3196,9 +3196,9 @@ void Interpreter::ProcessRouter(uint8_t aArgsLength, char *aArgs[]) { mServer->OutputFormat("Ext Addr: "); - for (size_t j = 0; j < sizeof(routerInfo.mExtAddress); j++) + for (uint8_t b : routerInfo.mExtAddress.m8) { - mServer->OutputFormat("%02x", routerInfo.mExtAddress.m8[j]); + mServer->OutputFormat("%02x", b); } mServer->OutputFormat("\r\n"); diff --git a/src/cli/cli_coap.cpp b/src/cli/cli_coap.cpp index 89a9f0414..d06b88cc6 100644 --- a/src/cli/cli_coap.cpp +++ b/src/cli/cli_coap.cpp @@ -173,9 +173,9 @@ otError Coap::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; @@ -523,11 +523,11 @@ otError Coap::Process(uint8_t aArgsLength, char *aArgs[]) } else { - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs); + error = (this->*command.mCommand)(aArgsLength, aArgs); break; } } diff --git a/src/cli/cli_coap_secure.cpp b/src/cli/cli_coap_secure.cpp index 0787a0d65..fbbbd4e56 100644 --- a/src/cli/cli_coap_secure.cpp +++ b/src/cli/cli_coap_secure.cpp @@ -106,9 +106,9 @@ otError CoapSecure::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; @@ -420,11 +420,11 @@ otError CoapSecure::Process(uint8_t aArgsLength, char *aArgs[]) } else { - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs); + error = (this->*command.mCommand)(aArgsLength, aArgs); break; } } diff --git a/src/cli/cli_commissioner.cpp b/src/cli/cli_commissioner.cpp index 7aec85a6d..c6b24b587 100644 --- a/src/cli/cli_commissioner.cpp +++ b/src/cli/cli_commissioner.cpp @@ -55,9 +55,9 @@ otError Commissioner::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; @@ -406,11 +406,11 @@ otError Commissioner::Process(uint8_t aArgsLength, char *aArgs[]) } else { - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs); + error = (this->*command.mCommand)(aArgsLength, aArgs); break; } } diff --git a/src/cli/cli_dataset.cpp b/src/cli/cli_dataset.cpp index 2d4fed70c..0cd4f9063 100644 --- a/src/cli/cli_dataset.cpp +++ b/src/cli/cli_dataset.cpp @@ -192,11 +192,11 @@ otError Dataset::Process(uint8_t aArgsLength, char *aArgs[]) ExitNow(error = Print(sDataset)); } - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength - 1, aArgs + 1); + error = (this->*command.mCommand)(aArgsLength - 1, aArgs + 1); break; } } @@ -210,9 +210,9 @@ otError Dataset::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; diff --git a/src/cli/cli_joiner.cpp b/src/cli/cli_joiner.cpp index 856cc33f2..ddc5f12e5 100644 --- a/src/cli/cli_joiner.cpp +++ b/src/cli/cli_joiner.cpp @@ -53,9 +53,9 @@ otError Joiner::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; @@ -115,11 +115,11 @@ otError Joiner::Process(uint8_t aArgsLength, char *aArgs[]) } else { - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength, aArgs); + error = (this->*command.mCommand)(aArgsLength, aArgs); break; } } diff --git a/src/cli/cli_udp.cpp b/src/cli/cli_udp.cpp index 145490819..977e14fe6 100644 --- a/src/cli/cli_udp.cpp +++ b/src/cli/cli_udp.cpp @@ -60,9 +60,9 @@ otError UdpExample::ProcessHelp(uint8_t aArgsLength, char *aArgs[]) OT_UNUSED_VARIABLE(aArgsLength); OT_UNUSED_VARIABLE(aArgs); - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - mInterpreter.mServer->OutputFormat("%s\r\n", sCommands[i].mName); + mInterpreter.mServer->OutputFormat("%s\r\n", command.mName); } return OT_ERROR_NONE; @@ -269,11 +269,11 @@ otError UdpExample::Process(uint8_t aArgsLength, char *aArgs[]) } else { - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength - 1, aArgs + 1); + error = (this->*command.mCommand)(aArgsLength - 1, aArgs + 1); break; } } diff --git a/src/core/common/message.cpp b/src/core/common/message.cpp index a70e84a33..01ba1a4c2 100644 --- a/src/core/common/message.cpp +++ b/src/core/common/message.cpp @@ -840,9 +840,9 @@ void MessageQueue::GetInfo(uint16_t &aMessageCount, uint16_t &aBufferCount) cons PriorityQueue::PriorityQueue(void) { - for (int priority = 0; priority < Message::kNumPriorities; priority++) + for (Message *&tail : mTails) { - mTails[priority] = nullptr; + tail = nullptr; } } diff --git a/src/core/common/notifier.cpp b/src/core/common/notifier.cpp index 12f6c1cdf..7d3a66a18 100644 --- a/src/core/common/notifier.cpp +++ b/src/core/common/notifier.cpp @@ -54,10 +54,10 @@ Notifier::Notifier(Instance &aInstance) , mTask(aInstance, Notifier::EmitEvents, this) , mReceivers() { - for (unsigned int i = 0; i < kMaxExternalHandlers; i++) + for (ExternalCallback &callback : mExternalCallbacks) { - mExternalCallbacks[i].mHandler = nullptr; - mExternalCallbacks[i].mContext = nullptr; + callback.mHandler = nullptr; + callback.mContext = nullptr; } } @@ -73,10 +73,8 @@ otError Notifier::RegisterCallback(otStateChangedCallback aCallback, void *aCont VerifyOrExit(aCallback != nullptr, OT_NOOP); - for (unsigned int i = 0; i < kMaxExternalHandlers; i++) + for (ExternalCallback &callback : mExternalCallbacks) { - ExternalCallback &callback = mExternalCallbacks[i]; - if (callback.mHandler == nullptr) { if (unusedCallback == nullptr) @@ -103,10 +101,8 @@ void Notifier::RemoveCallback(otStateChangedCallback aCallback, void *aContext) { VerifyOrExit(aCallback != nullptr, OT_NOOP); - for (unsigned int i = 0; i < kMaxExternalHandlers; i++) + for (ExternalCallback &callback : mExternalCallbacks) { - ExternalCallback &callback = mExternalCallbacks[i]; - if ((callback.mHandler == aCallback) && (callback.mContext == aContext)) { callback.mHandler = nullptr; @@ -157,10 +153,8 @@ void Notifier::EmitEvents(void) receiver->Emit(events); } - for (unsigned int i = 0; i < kMaxExternalHandlers; i++) + for (ExternalCallback &callback : mExternalCallbacks) { - ExternalCallback &callback = mExternalCallbacks[i]; - if (callback.mHandler != nullptr) { callback.mHandler(events.GetAsFlags(), callback.mContext); diff --git a/src/core/diags/factory_diags.cpp b/src/core/diags/factory_diags.cpp index ac1371646..fc41cc92d 100644 --- a/src/core/diags/factory_diags.cpp +++ b/src/core/diags/factory_diags.cpp @@ -577,12 +577,12 @@ otError Diags::ProcessCmd(uint8_t aArgsLength, char *aArgs[], char *aOutput, siz aOutput[0] = '\0'; } - for (size_t i = 0; i < OT_ARRAY_LENGTH(sCommands); i++) + for (const Command &command : sCommands) { - if (strcmp(aArgs[0], sCommands[i].mName) == 0) + if (strcmp(aArgs[0], command.mName) == 0) { - error = (this->*sCommands[i].mCommand)(aArgsLength - 1, (aArgsLength > 1) ? &aArgs[1] : nullptr, aOutput, - aOutputMaxLen); + error = (this->*command.mCommand)(aArgsLength - 1, (aArgsLength > 1) ? &aArgs[1] : nullptr, aOutput, + aOutputMaxLen); ExitNow(); } } diff --git a/src/core/meshcop/meshcop.cpp b/src/core/meshcop/meshcop.cpp index 1a30d8755..7de2b94d2 100644 --- a/src/core/meshcop/meshcop.cpp +++ b/src/core/meshcop/meshcop.cpp @@ -247,10 +247,10 @@ void SteeringData::CalculateHashBitIndexes(const Mac::ExtAddress &aJoinerId, Has Crc16 ccitt(Crc16::kCcitt); Crc16 ansi(Crc16::kAnsi); - for (uint8_t i = 0; i < sizeof(Mac::ExtAddress); i++) + for (uint8_t b : aJoinerId.m8) { - ccitt.Update(aJoinerId.m8[i]); - ansi.Update(aJoinerId.m8[i]); + ccitt.Update(b); + ansi.Update(b); } aIndexes.mIndex[0] = ccitt.Get(); diff --git a/src/core/net/dhcp6_client.cpp b/src/core/net/dhcp6_client.cpp index 63faa1ca7..27b963033 100644 --- a/src/core/net/dhcp6_client.cpp +++ b/src/core/net/dhcp6_client.cpp @@ -76,11 +76,9 @@ void Dhcp6Client::UpdateAddresses(void) NetworkData::OnMeshPrefixConfig config; // remove addresses directly if prefix not valid in network data - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); i++) + for (IdentityAssociation &idAssociation : mIdentityAssociations) { - IdentityAssociation &ia = mIdentityAssociations[i]; - - if (ia.mStatus == kIaStatusInvalid || ia.mValidLifetime == 0) + if (idAssociation.mStatus == kIaStatusInvalid || idAssociation.mValidLifetime == 0) { continue; } @@ -95,7 +93,7 @@ void Dhcp6Client::UpdateAddresses(void) continue; } - if (MatchNetifAddressWithPrefix(ia.mNetifAddress, config.mPrefix)) + if (MatchNetifAddressWithPrefix(idAssociation.mNetifAddress, config.mPrefix)) { found = true; break; @@ -104,8 +102,8 @@ void Dhcp6Client::UpdateAddresses(void) if (!found) { - Get().RemoveUnicastAddress(ia.mNetifAddress); - mIdentityAssociations[i].mStatus = kIaStatusInvalid; + Get().RemoveUnicastAddress(idAssociation.mNetifAddress); + idAssociation.mStatus = kIaStatusInvalid; } } @@ -114,7 +112,7 @@ void Dhcp6Client::UpdateAddresses(void) while (Get().GetNextOnMeshPrefix(iterator, config) == OT_ERROR_NONE) { - IdentityAssociation *ia = nullptr; + IdentityAssociation *idAssociation = nullptr; if (!config.mDhcp) { @@ -124,32 +122,32 @@ void Dhcp6Client::UpdateAddresses(void) doesAgentExist = true; found = false; - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); i++) + for (IdentityAssociation &ia : mIdentityAssociations) { - if (mIdentityAssociations[i].mStatus == kIaStatusInvalid) + if (ia.mStatus == kIaStatusInvalid) { - // record an available ia - if (ia == nullptr) + // record an available IdentityAssociation + if (idAssociation == nullptr) { - ia = &mIdentityAssociations[i]; + idAssociation = &ia; } } - else if (MatchNetifAddressWithPrefix(mIdentityAssociations[i].mNetifAddress, config.mPrefix)) + else if (MatchNetifAddressWithPrefix(ia.mNetifAddress, config.mPrefix)) { - found = true; - ia = &mIdentityAssociations[i]; + found = true; + idAssociation = &ia; break; } } if (!found) { - if (ia != nullptr) + if (idAssociation != nullptr) { - ia->mNetifAddress.mAddress = config.mPrefix.mPrefix; - ia->mNetifAddress.mPrefixLength = config.mPrefix.mLength; - ia->mStatus = kIaStatusSolicit; - ia->mValidLifetime = 0; + idAssociation->mNetifAddress.mAddress = config.mPrefix.mPrefix; + idAssociation->mNetifAddress.mPrefixLength = config.mPrefix.mLength; + idAssociation->mStatus = kIaStatusSolicit; + idAssociation->mValidLifetime = 0; } else { @@ -158,7 +156,7 @@ void Dhcp6Client::UpdateAddresses(void) } } - ia->mPrefixAgentRloc = config.mRloc16; + idAssociation->mPrefixAgentRloc = config.mRloc16; } if (doesAgentExist) @@ -202,9 +200,9 @@ bool Dhcp6Client::ProcessNextIdentityAssociation() mTrickleTimer.Stop(); - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) + for (IdentityAssociation &idAssociation : mIdentityAssociations) { - if (mIdentityAssociations[i].mStatus != kIaStatusSolicit) + if (idAssociation.mStatus != kIaStatusSolicit) { continue; } @@ -212,7 +210,7 @@ bool Dhcp6Client::ProcessNextIdentityAssociation() // new transaction id IgnoreError(Random::Crypto::FillBuffer(mTransactionId, kTransactionIdSize)); - mIdentityAssociationCurrent = &mIdentityAssociations[i]; + mIdentityAssociationCurrent = &idAssociation; mTrickleTimer.Start(Time::SecToMsec(kTrickleTimerImin), Time::SecToMsec(kTrickleTimerImax), TrickleTimer::kModeNormal); @@ -352,15 +350,14 @@ otError Dhcp6Client::AppendIaNa(Message &aMessage, uint16_t aRloc16) VerifyOrExit(mIdentityAssociationCurrent != nullptr, error = OT_ERROR_DROP); - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) + for (IdentityAssociation &idAssociation : mIdentityAssociations) { - if (mIdentityAssociations[i].mStatus == kIaStatusInvalid || - mIdentityAssociations[i].mStatus == kIaStatusSolicitReplied) + if (idAssociation.mStatus == kIaStatusInvalid || idAssociation.mStatus == kIaStatusSolicitReplied) { continue; } - if (mIdentityAssociations[i].mPrefixAgentRloc == aRloc16) + if (idAssociation.mPrefixAgentRloc == aRloc16) { count++; } @@ -389,13 +386,12 @@ otError Dhcp6Client::AppendIaAddress(Message &aMessage, uint16_t aRloc16) option.Init(); - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) + for (IdentityAssociation &idAssociation : mIdentityAssociations) { - if ((mIdentityAssociations[i].mStatus == kIaStatusSolicit || - mIdentityAssociations[i].mStatus == kIaStatusSoliciting) && - (mIdentityAssociations[i].mPrefixAgentRloc == aRloc16)) + if ((idAssociation.mStatus == kIaStatusSolicit || idAssociation.mStatus == kIaStatusSoliciting) && + (idAssociation.mPrefixAgentRloc == aRloc16)) { - option.SetAddress(mIdentityAssociations[i].mNetifAddress.mAddress); + option.SetAddress(idAssociation.mNetifAddress.mAddress); option.SetPreferredLifetime(0); option.SetValidLifetime(0); SuccessOrExit(error = aMessage.Append(&option, sizeof(option))); @@ -582,25 +578,24 @@ otError Dhcp6Client::ProcessIaAddress(Message &aMessage, uint16_t aOffset) (option.GetLength() == (sizeof(option) - sizeof(Dhcp6Option)))), error = OT_ERROR_PARSE); - for (size_t i = 0; i < OT_ARRAY_LENGTH(mIdentityAssociations); ++i) + for (IdentityAssociation &idAssociation : mIdentityAssociations) { - IdentityAssociation &ia = mIdentityAssociations[i]; - - if (ia.mStatus == kIaStatusInvalid || ia.mValidLifetime != 0) + if (idAssociation.mStatus == kIaStatusInvalid || idAssociation.mValidLifetime != 0) { continue; } - if (ia.mNetifAddress.GetAddress().PrefixMatch(option.GetAddress()) >= ia.mNetifAddress.mPrefixLength) + if (idAssociation.mNetifAddress.GetAddress().PrefixMatch(option.GetAddress()) >= + idAssociation.mNetifAddress.mPrefixLength) { - mIdentityAssociations[i].mNetifAddress.mAddress = option.GetAddress(); - mIdentityAssociations[i].mPreferredLifetime = option.GetPreferredLifetime(); - mIdentityAssociations[i].mValidLifetime = option.GetValidLifetime(); - mIdentityAssociations[i].mNetifAddress.mAddressOrigin = OT_ADDRESS_ORIGIN_DHCPV6; - mIdentityAssociations[i].mNetifAddress.mPreferred = option.GetPreferredLifetime() != 0; - mIdentityAssociations[i].mNetifAddress.mValid = option.GetValidLifetime() != 0; - mIdentityAssociations[i].mStatus = kIaStatusSolicitReplied; - Get().AddUnicastAddress(ia.mNetifAddress); + idAssociation.mNetifAddress.mAddress = option.GetAddress(); + idAssociation.mPreferredLifetime = option.GetPreferredLifetime(); + idAssociation.mValidLifetime = option.GetValidLifetime(); + idAssociation.mNetifAddress.mAddressOrigin = OT_ADDRESS_ORIGIN_DHCPV6; + idAssociation.mNetifAddress.mPreferred = option.GetPreferredLifetime() != 0; + idAssociation.mNetifAddress.mValid = option.GetValidLifetime() != 0; + idAssociation.mStatus = kIaStatusSolicitReplied; + Get().AddUnicastAddress(idAssociation.mNetifAddress); break; } } diff --git a/src/core/net/dhcp6_server.cpp b/src/core/net/dhcp6_server.cpp index 6bf2368c2..d23188c4d 100644 --- a/src/core/net/dhcp6_server.cpp +++ b/src/core/net/dhcp6_server.cpp @@ -64,11 +64,11 @@ otError Dhcp6Server::UpdateService(void) Lowpan::Context lowpanContext; // remove dhcp agent aloc and prefix delegation - for (size_t i = 0; i < OT_ARRAY_LENGTH(mPrefixAgents); i++) + for (PrefixAgent &prefixAgent : mPrefixAgents) { bool found = false; - if (!mPrefixAgents[i].IsValid()) + if (!prefixAgent.IsValid()) { continue; } @@ -82,9 +82,9 @@ otError Dhcp6Server::UpdateService(void) continue; } - error = Get().GetContext(mPrefixAgents[i].GetPrefix(), lowpanContext); + error = Get().GetContext(prefixAgent.GetPrefix(), lowpanContext); - if ((error == OT_ERROR_NONE) && (mPrefixAgents[i].GetContextId() == lowpanContext.mContextId)) + if ((error == OT_ERROR_NONE) && (prefixAgent.GetContextId() == lowpanContext.mContextId)) { // still in network data found = true; @@ -94,7 +94,7 @@ otError Dhcp6Server::UpdateService(void) if (!found) { - mPrefixAgents[i].Clear(); + prefixAgent.Clear(); mPrefixAgentsCount--; } } @@ -149,13 +149,13 @@ void Dhcp6Server::AddPrefixAgent(const otIp6Prefix &aIp6Prefix, const Lowpan::Co otError error = OT_ERROR_NONE; PrefixAgent *newEntry = nullptr; - for (size_t i = 0; i < OT_ARRAY_LENGTH(mPrefixAgents); i++) + for (PrefixAgent &prefixAgent : mPrefixAgents) { - if (!mPrefixAgents[i].IsValid()) + if (!prefixAgent.IsValid()) { - newEntry = &mPrefixAgents[i]; + newEntry = &prefixAgent; } - else if (mPrefixAgents[i].IsPrefixMatch(aIp6Prefix)) + else if (prefixAgent.IsPrefixMatch(aIp6Prefix)) { // already added ExitNow(); @@ -449,11 +449,11 @@ otError Dhcp6Server::AppendIaAddress(Message &aMessage, ClientIdentifier &aClien else { // if not specified, apply all configured prefixes - for (size_t i = 0; i < OT_ARRAY_LENGTH(mPrefixAgents); i++) + for (const PrefixAgent &prefixAgent : mPrefixAgents) { - if (mPrefixAgents[i].IsValid()) + if (prefixAgent.IsValid()) { - SuccessOrExit(error = AddIaAddress(aMessage, mPrefixAgents[i].GetPrefix(), aClientId)); + SuccessOrExit(error = AddIaAddress(aMessage, prefixAgent.GetPrefix(), aClientId)); } } } @@ -489,11 +489,11 @@ otError Dhcp6Server::AppendRapidCommit(Message &aMessage) void Dhcp6Server::ApplyMeshLocalPrefix(void) { - for (size_t i = 0; i < OT_ARRAY_LENGTH(mPrefixAgents); i++) + for (PrefixAgent &prefixAgent : mPrefixAgents) { - if (mPrefixAgents[i].IsValid()) + if (prefixAgent.IsValid()) { - PrefixAgent *entry = &mPrefixAgents[i]; + PrefixAgent *entry = &prefixAgent; Get().RemoveUnicastAddress(entry->GetAloc()); entry->GetAloc().GetAddress().SetPrefix(Get().GetMeshLocalPrefix()); diff --git a/src/core/net/ip6_filter.cpp b/src/core/net/ip6_filter.cpp index 2bedada1d..29fca4e26 100644 --- a/src/core/net/ip6_filter.cpp +++ b/src/core/net/ip6_filter.cpp @@ -108,9 +108,9 @@ bool Filter::Accept(Message &aMessage) const } // Check against allowed unsecure port list - for (int i = 0; i < kMaxUnsecurePorts; i++) + for (uint16_t unsecurePort : mUnsecurePorts) { - if (mUnsecurePorts[i] != 0 && mUnsecurePorts[i] == dstport) + if (unsecurePort != 0 && unsecurePort == dstport) { ExitNow(rval = true); } @@ -126,19 +126,19 @@ otError Filter::AddUnsecurePort(uint16_t aPort) VerifyOrExit(aPort != 0, error = OT_ERROR_INVALID_ARGS); - for (int i = 0; i < kMaxUnsecurePorts; i++) + for (uint16_t unsecurePort : mUnsecurePorts) { - if (mUnsecurePorts[i] == aPort) + if (unsecurePort == aPort) { ExitNow(); } } - for (int i = 0; i < kMaxUnsecurePorts; i++) + for (uint16_t &unsecurePort : mUnsecurePorts) { - if (mUnsecurePorts[i] == 0) + if (unsecurePort == 0) { - mUnsecurePorts[i] = aPort; + unsecurePort = aPort; otLogInfoIp6("Added unsecure port %d", aPort); ExitNow(); } @@ -184,9 +184,9 @@ bool Filter::IsUnsecurePort(uint16_t aPort) { bool found = false; - for (int i = 0; i < kMaxUnsecurePorts; i++) + for (uint16_t unsecurePort : mUnsecurePorts) { - if (mUnsecurePorts[i] == aPort) + if (unsecurePort == aPort) { found = true; break; diff --git a/src/core/thread/address_resolver.cpp b/src/core/thread/address_resolver.cpp index d216a282e..71e0fbdb4 100644 --- a/src/core/thread/address_resolver.cpp +++ b/src/core/thread/address_resolver.cpp @@ -77,10 +77,9 @@ void AddressResolver::Clear(void) { CacheEntryList *lists[] = {&mCachedList, &mSnoopedList, &mQueryList, &mQueryRetryList}; - for (size_t index = 0; index < OT_ARRAY_LENGTH(lists); index++) + for (CacheEntryList *list : lists) { - CacheEntryList *list = lists[index]; - CacheEntry * entry; + CacheEntry *entry; while ((entry = list->Pop()) != nullptr) { @@ -193,11 +192,10 @@ void AddressResolver::Remove(Mac::ShortAddress aRloc16, bool aMatchRouterId) { CacheEntryList *lists[] = {&mCachedList, &mSnoopedList}; - for (size_t index = 0; index < OT_ARRAY_LENGTH(lists); index++) + for (CacheEntryList *list : lists) { - CacheEntryList *list = lists[index]; - CacheEntry * prev = nullptr; - CacheEntry * entry; + CacheEntry *prev = nullptr; + CacheEntry *entry; while ((entry = GetEntryAfter(prev, *list)) != nullptr) { @@ -225,9 +223,9 @@ AddressResolver::CacheEntry *AddressResolver::FindCacheEntry(const Ip6::Address CacheEntry * entry = nullptr; CacheEntryList *lists[] = {&mCachedList, &mSnoopedList, &mQueryList, &mQueryRetryList}; - for (size_t index = 0; index < OT_ARRAY_LENGTH(lists); index++) + for (CacheEntryList *list : lists) { - aList = lists[index]; + aList = list; entry = aList->FindMatching(aEid, aPrevEntry); VerifyOrExit(entry == nullptr, OT_NOOP); } @@ -277,12 +275,11 @@ AddressResolver::CacheEntry *AddressResolver::NewCacheEntry(bool aSnoopedEntry) newEntry = mCacheEntryPool.Allocate(); VerifyOrExit(newEntry == nullptr, OT_NOOP); - for (size_t index = 0; index < OT_ARRAY_LENGTH(lists); index++) + for (CacheEntryList *list : lists) { - CacheEntryList *list = lists[index]; - CacheEntry * prev; - CacheEntry * entry; - uint16_t numNonEvictable = 0; + CacheEntry *prev; + CacheEntry *entry; + uint16_t numNonEvictable = 0; for (prev = nullptr; (entry = GetEntryAfter(prev, *list)) != nullptr; prev = entry) { diff --git a/src/core/thread/child_mask.hpp b/src/core/thread/child_mask.hpp index 6eedbbb0c..66a0f5555 100644 --- a/src/core/thread/child_mask.hpp +++ b/src/core/thread/child_mask.hpp @@ -111,9 +111,9 @@ public: { bool rval = false; - for (size_t i = 0; i < sizeof(mMask); i++) + for (uint8_t b : mMask) { - if (mMask[i] != 0) + if (b != 0) { ExitNow(rval = true); } diff --git a/src/core/thread/mesh_forwarder_ftd.cpp b/src/core/thread/mesh_forwarder_ftd.cpp index c88c41311..51c28337f 100644 --- a/src/core/thread/mesh_forwarder_ftd.cpp +++ b/src/core/thread/mesh_forwarder_ftd.cpp @@ -182,12 +182,12 @@ otError MeshForwarder::EvictMessage(Message::Priority aPriority) Message * evict = nullptr; // search for a lower priority message to evict (choose lowest priority message among all queues) - for (uint8_t index = 0; index < OT_ARRAY_LENGTH(queues); index++) + for (PriorityQueue *queue : queues) { for (uint8_t priority = 0; priority < aPriority; priority++) { - for (Message *message = queues[index]->GetHeadForPriority(static_cast(priority)); - message; message = message->GetNext()) + for (Message *message = queue->GetHeadForPriority(static_cast(priority)); message; + message = message->GetNext()) { if (message->GetPriority() != priority) { diff --git a/src/core/thread/mle.cpp b/src/core/thread/mle.cpp index c20bb9a01..001c07516 100644 --- a/src/core/thread/mle.cpp +++ b/src/core/thread/mle.cpp @@ -140,16 +140,16 @@ Mle::Mle(Instance &aInstance) #if OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE // Service Alocs - for (size_t i = 0; i < OT_ARRAY_LENGTH(mServiceAlocs); i++) + for (Ip6::NetifUnicastAddress &serviceAloc : mServiceAlocs) { - mServiceAlocs[i].Clear(); - mServiceAlocs[i].mPrefixLength = MeshLocalPrefix::kLength; - mServiceAlocs[i].mAddressOrigin = OT_ADDRESS_ORIGIN_THREAD; - mServiceAlocs[i].mPreferred = true; - mServiceAlocs[i].mValid = true; - mServiceAlocs[i].mScopeOverride = Ip6::Address::kRealmLocalScope; - mServiceAlocs[i].mScopeOverrideValid = true; - mServiceAlocs[i].GetAddress().GetIid().SetLocator(Mac::kShortAddrInvalid); + serviceAloc.Clear(); + serviceAloc.mPrefixLength = MeshLocalPrefix::kLength; + serviceAloc.mAddressOrigin = OT_ADDRESS_ORIGIN_THREAD; + serviceAloc.mPreferred = true; + serviceAloc.mValid = true; + serviceAloc.mScopeOverride = Ip6::Address::kRealmLocalScope; + serviceAloc.mScopeOverrideValid = true; + serviceAloc.GetAddress().GetIid().SetLocator(Mac::kShortAddrInvalid); } #endif @@ -887,13 +887,13 @@ void Mle::ApplyMeshLocalPrefix(void) #if OPENTHREAD_CONFIG_TMF_NETDATA_SERVICE_ENABLE - for (size_t i = 0; i < OT_ARRAY_LENGTH(mServiceAlocs); i++) + for (Ip6::NetifUnicastAddress &serviceAloc : mServiceAlocs) { - if (mServiceAlocs[i].GetAddress().GetIid().GetLocator() != Mac::kShortAddrInvalid) + if (serviceAloc.GetAddress().GetIid().GetLocator() != Mac::kShortAddrInvalid) { - Get().RemoveUnicastAddress(mServiceAlocs[i]); - mServiceAlocs[i].GetAddress().SetPrefix(GetMeshLocalPrefix()); - Get().AddUnicastAddress(mServiceAlocs[i]); + Get().RemoveUnicastAddress(serviceAloc); + serviceAloc.GetAddress().SetPrefix(GetMeshLocalPrefix()); + Get().AddUnicastAddress(serviceAloc); } } diff --git a/src/core/thread/topology.cpp b/src/core/thread/topology.cpp index b49256f9c..ea910acf1 100644 --- a/src/core/thread/topology.cpp +++ b/src/core/thread/topology.cpp @@ -176,15 +176,15 @@ otError Child::AddIp6Address(const Ip6::Address &aAddress) ExitNow(); } - for (uint16_t index = 0; index < kNumIp6Addresses; index++) + for (Ip6::Address &ip6Address : mIp6Address) { - if (mIp6Address[index].IsUnspecified()) + if (ip6Address.IsUnspecified()) { - mIp6Address[index] = aAddress; + ip6Address = aAddress; ExitNow(); } - VerifyOrExit(mIp6Address[index] != aAddress, error = OT_ERROR_ALREADY); + VerifyOrExit(ip6Address != aAddress, error = OT_ERROR_ALREADY); } error = OT_ERROR_NO_BUFS; @@ -247,11 +247,11 @@ bool Child::HasIp6Address(const Ip6::Address &aAddress) const ExitNow(); } - for (uint16_t index = 0; index < kNumIp6Addresses; index++) + for (const Ip6::Address &ip6Address : mIp6Address) { - VerifyOrExit(!mIp6Address[index].IsUnspecified(), OT_NOOP); + VerifyOrExit(!ip6Address.IsUnspecified(), OT_NOOP); - if (mIp6Address[index] == aAddress) + if (ip6Address == aAddress) { ExitNow(retval = true); } diff --git a/src/core/utils/channel_monitor.cpp b/src/core/utils/channel_monitor.cpp index 901a6e620..a40b78d86 100644 --- a/src/core/utils/channel_monitor.cpp +++ b/src/core/utils/channel_monitor.cpp @@ -193,9 +193,9 @@ void ChannelMonitor::LogResults(void) const size_t kStringSize = 128; String logString; - for (size_t i = 0; i < kNumChannels; i++) + for (uint16_t channel : mChannelOccupancy) { - IgnoreError(logString.Append("%02x ", mChannelOccupancy[i] >> 8)); + IgnoreError(logString.Append("%02x ", channel >> 8)); } otLogInfoUtil("ChannelMonitor: %u [%s]", mSampleCount, logString.AsCString()); diff --git a/src/lib/spinel/spinel_buffer.cpp b/src/lib/spinel/spinel_buffer.cpp index c6869f2bb..cda0708a0 100644 --- a/src/lib/spinel/spinel_buffer.cpp +++ b/src/lib/spinel/spinel_buffer.cpp @@ -46,9 +46,9 @@ Buffer::Buffer(uint8_t *aBuffer, uint16_t aBufferLength) , mBufferLength(aBufferLength) { #if OPENTHREAD_SPINEL_CONFIG_OPENTHREAD_MESSAGE_ENABLE - for (uint8_t priority = 0; priority < kNumPrios; priority++) + for (otMessageQueue &queue : mMessageQueue) { - otMessageQueueInit(&mMessageQueue[priority]); + otMessageQueueInit(&queue); } otMessageQueueInit(&mWriteFrameMessageQueue); @@ -100,11 +100,11 @@ void Buffer::Clear(void) // be freed. } - for (uint8_t priority = 0; priority < kNumPrios; priority++) + for (otMessageQueue &queue : mMessageQueue) { - while ((message = otMessageQueueGetHead(&mMessageQueue[priority])) != nullptr) + while ((message = otMessageQueueGetHead(&queue)) != nullptr) { - otMessageQueueDequeue(&mMessageQueue[priority], message); + otMessageQueueDequeue(&queue, message); otMessageFree(message); } } diff --git a/src/ncp/ncp_base_mtd.cpp b/src/ncp/ncp_base_mtd.cpp index f4b88fd40..25f6d5146 100644 --- a/src/ncp/ncp_base_mtd.cpp +++ b/src/ncp/ncp_base_mtd.cpp @@ -3744,13 +3744,13 @@ void NcpBase::ProcessThreadChangedFlags(void) // Convert OT_CHANGED flags to corresponding NCP property update. - for (size_t i = 0; i < OT_ARRAY_LENGTH(kFlags); i++) + for (auto flag : kFlags) { - uint32_t threadFlag = kFlags[i].mThreadFlag; + uint32_t threadFlag = flag.mThreadFlag; if (mThreadChangedFlags & threadFlag) { - spinel_prop_key_t propKey = kFlags[i].mPropKey; + spinel_prop_key_t propKey = flag.mPropKey; bool shouldAddProperty = true; // Child table changes are reported using the `HandleChildAdded()` and diff --git a/tests/unit/test_child.cpp b/tests/unit/test_child.cpp index 3a14a3ce1..fcb471e0e 100644 --- a/tests/unit/test_child.cpp +++ b/tests/unit/test_child.cpp @@ -136,11 +136,10 @@ void TestChildIp6Address(void) numAddresses++; - for (uint8_t index = 0; index < static_cast(OT_ARRAY_LENGTH(ip6Addresses)); index++) + for (const char *ip6Address : ip6Addresses) { VerifyOrQuit(numAddresses < kMaxChildIp6Addresses, "Too many IPv6 addresses in the unit test"); - SuccessOrQuit(addresses[numAddresses++].FromString(ip6Addresses[index]), - "could not convert IPv6 address from string"); + SuccessOrQuit(addresses[numAddresses++].FromString(ip6Address), "could not convert IPv6 address from string"); } printf(" -- PASS\n"); diff --git a/tests/unit/test_child_table.cpp b/tests/unit/test_child_table.cpp index ea658e438..4cd463d4e 100644 --- a/tests/unit/test_child_table.cpp +++ b/tests/unit/test_child_table.cpp @@ -109,10 +109,8 @@ void VerifyChildTableContent(ChildTable &aTable, uint16_t aChildListLength, cons { printf("Test ChildTable with %d entries", aChildListLength); - for (uint16_t k = 0; k < OT_ARRAY_LENGTH(kAllFilters); k++) + for (Child::StateFilter filter : kAllFilters) { - Child::StateFilter filter = kAllFilters[k]; - // Verify that we can find all children from given list by rloc or extended address. for (uint16_t listIndex = 0; listIndex < aChildListLength; listIndex++) @@ -302,10 +300,8 @@ void TestChildTable(void) VerifyOrQuit(table->GetMaxChildrenAllowed() == table->GetMaxChildren(), "GetMaxChildrenAllowed() initial value is incorrect "); - for (uint16_t i = 0; i < OT_ARRAY_LENGTH(kAllFilters); i++) + for (Child::StateFilter filter : kAllFilters) { - Child::StateFilter filter = kAllFilters[i]; - VerifyOrQuit(table->HasChildren(filter) == false, "HasChildren() failed after init"); VerifyOrQuit(table->GetNumChildren(filter) == 0, "GetNumChildren() failed after init"); } diff --git a/tests/unit/test_ip6_address.cpp b/tests/unit/test_ip6_address.cpp index d60587f4e..42f8449e9 100644 --- a/tests/unit/test_ip6_address.cpp +++ b/tests/unit/test_ip6_address.cpp @@ -130,9 +130,9 @@ void TestIp6AddressFromString(void) {":f:0:0:c:0:f:f:.", {0}, OT_ERROR_PARSE}, }; - for (uint32_t index = 0; index < OT_ARRAY_LENGTH(testVectors); index++) + for (Ip6AddressStringTestVector &testVector : testVectors) { - checkAddressFromString(&testVectors[index]); + checkAddressFromString(&testVector); } } @@ -194,10 +194,8 @@ void TestIp6AddressSetPrefix(void) allZeroAddress.Clear(); memset(&allOneAddress, 0xff, sizeof(allOneAddress)); - for (uint8_t index = 0; index < OT_ARRAY_LENGTH(kPrefixes); index++) + for (auto prefix : kPrefixes) { - const uint8_t *prefix = kPrefixes[index]; - memcpy(address.mFields.m8, prefix, sizeof(address)); printf("Prefix is %s\n", address.ToString().AsCString()); diff --git a/tests/unit/test_mac_frame.cpp b/tests/unit/test_mac_frame.cpp index c7a4b2440..c0a7e08f2 100644 --- a/tests/unit/test_mac_frame.cpp +++ b/tests/unit/test_mac_frame.cpp @@ -270,7 +270,7 @@ void TestMacHeader(void) Mac::Frame::kSecMic32 | Mac::Frame::kKeyIdMode2, 19, 6}, }; - for (unsigned i = 0; i < OT_ARRAY_LENGTH(tests); i++) + for (const auto &test : tests) { uint8_t psdu[Mac::Frame::kMtu]; Mac::TxFrame frame; @@ -278,10 +278,10 @@ void TestMacHeader(void) frame.mPsdu = psdu; frame.mLength = 0; - frame.InitMacHeader(tests[i].fcf, tests[i].secCtl); - VerifyOrQuit(frame.GetHeaderLength() == tests[i].headerLength, "MacHeader test failed"); - VerifyOrQuit(frame.GetFooterLength() == tests[i].footerLength, "MacHeader test failed"); - VerifyOrQuit(frame.GetLength() == tests[i].headerLength + tests[i].footerLength, "MacHeader test failed"); + frame.InitMacHeader(test.fcf, test.secCtl); + VerifyOrQuit(frame.GetHeaderLength() == test.headerLength, "MacHeader test failed"); + VerifyOrQuit(frame.GetFooterLength() == test.footerLength, "MacHeader test failed"); + VerifyOrQuit(frame.GetLength() == test.headerLength + test.footerLength, "MacHeader test failed"); } } @@ -365,9 +365,9 @@ void TestMacChannelMask(void) VerifyOrQuit(mask1.IsEmpty(), "ChannelMask.IsEmpty failed"); VerifyChannelMaskContent(mask1, nullptr, 0); - for (uint16_t index = 0; index < sizeof(channels1); index++) + for (uint8_t channel : channels1) { - mask1.AddChannel(channels1[index]); + mask1.AddChannel(channel); } printf("channels1 = %s\n", mask1.ToString().AsCString()); @@ -377,9 +377,9 @@ void TestMacChannelMask(void) mask2.Clear(); - for (uint16_t index = 0; index < sizeof(channels2); index++) + for (uint8_t channel : channels2) { - mask2.AddChannel(channels2[index]); + mask2.AddChannel(channel); } printf("channels2 = %s\n", mask2.ToString().AsCString()); diff --git a/tests/unit/test_message.cpp b/tests/unit/test_message.cpp index 7ad049026..0aadabc7a 100644 --- a/tests/unit/test_message.cpp +++ b/tests/unit/test_message.cpp @@ -46,9 +46,9 @@ void TestMessage(void) messagePool = &instance->Get(); - for (unsigned i = 0; i < sizeof(writeBuffer); i++) + for (uint8_t &b : writeBuffer) { - writeBuffer[i] = static_cast(random()); + b = static_cast(random()); } VerifyOrQuit((message = messagePool->New(ot::Message::kTypeIp6, 0)) != nullptr, "Message::New failed"); diff --git a/tests/unit/test_message_queue.cpp b/tests/unit/test_message_queue.cpp index 35af431ad..b2657d22e 100644 --- a/tests/unit/test_message_queue.cpp +++ b/tests/unit/test_message_queue.cpp @@ -78,7 +78,7 @@ void VerifyMessageQueueContent(ot::MessageQueue &aMessageQueue, int aExpectedLen void TestMessageQueue(void) { ot::MessageQueue messageQueue; - ot::Message * msg[kNumTestMessages]; + ot::Message * messages[kNumTestMessages]; uint16_t msgCount, bufferCount; sInstance = testInitInstance(); @@ -86,92 +86,92 @@ void TestMessageQueue(void) sMessagePool = &sInstance->Get(); - for (int i = 0; i < kNumTestMessages; i++) + for (ot::Message *&msg : messages) { - msg[i] = sMessagePool->New(ot::Message::kTypeIp6, 0); - VerifyOrQuit(msg[i] != nullptr, "Message::New failed"); + msg = sMessagePool->New(ot::Message::kTypeIp6, 0); + VerifyOrQuit(msg != nullptr, "Message::New failed"); } VerifyMessageQueueContent(messageQueue, 0); // Enqueue 1 message and remove it - messageQueue.Enqueue(*msg[0]); - VerifyMessageQueueContent(messageQueue, 1, msg[0]); - messageQueue.Dequeue(*msg[0]); + messageQueue.Enqueue(*messages[0]); + VerifyMessageQueueContent(messageQueue, 1, messages[0]); + messageQueue.Dequeue(*messages[0]); VerifyMessageQueueContent(messageQueue, 0); // Enqueue 1 message at head and remove it - messageQueue.Enqueue(*msg[0], ot::MessageQueue::kQueuePositionHead); - VerifyMessageQueueContent(messageQueue, 1, msg[0]); - messageQueue.Dequeue(*msg[0]); + messageQueue.Enqueue(*messages[0], ot::MessageQueue::kQueuePositionHead); + VerifyMessageQueueContent(messageQueue, 1, messages[0]); + messageQueue.Dequeue(*messages[0]); VerifyMessageQueueContent(messageQueue, 0); // Enqueue 5 messages - messageQueue.Enqueue(*msg[0]); - VerifyMessageQueueContent(messageQueue, 1, msg[0]); - messageQueue.Enqueue(*msg[1]); - VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[1]); - messageQueue.Enqueue(*msg[2]); - VerifyMessageQueueContent(messageQueue, 3, msg[0], msg[1], msg[2]); - messageQueue.Enqueue(*msg[3]); - VerifyMessageQueueContent(messageQueue, 4, msg[0], msg[1], msg[2], msg[3]); - messageQueue.Enqueue(*msg[4]); - VerifyMessageQueueContent(messageQueue, 5, msg[0], msg[1], msg[2], msg[3], msg[4]); + messageQueue.Enqueue(*messages[0]); + VerifyMessageQueueContent(messageQueue, 1, messages[0]); + messageQueue.Enqueue(*messages[1]); + VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[1]); + messageQueue.Enqueue(*messages[2]); + VerifyMessageQueueContent(messageQueue, 3, messages[0], messages[1], messages[2]); + messageQueue.Enqueue(*messages[3]); + VerifyMessageQueueContent(messageQueue, 4, messages[0], messages[1], messages[2], messages[3]); + messageQueue.Enqueue(*messages[4]); + VerifyMessageQueueContent(messageQueue, 5, messages[0], messages[1], messages[2], messages[3], messages[4]); // Check the GetInfo() messageQueue.GetInfo(msgCount, bufferCount); VerifyOrQuit(msgCount == 5, "MessageQueue::GetInfo() failed."); // Remove from head - messageQueue.Dequeue(*msg[0]); - VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[3], msg[4]); + messageQueue.Dequeue(*messages[0]); + VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[2], messages[3], messages[4]); // Remove a message in middle - messageQueue.Dequeue(*msg[3]); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[2], msg[4]); + messageQueue.Dequeue(*messages[3]); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[2], messages[4]); // Remove from tail - messageQueue.Dequeue(*msg[4]); - VerifyMessageQueueContent(messageQueue, 2, msg[1], msg[2]); + messageQueue.Dequeue(*messages[4]); + VerifyMessageQueueContent(messageQueue, 2, messages[1], messages[2]); // Add after remove - messageQueue.Enqueue(*msg[0]); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[2], msg[0]); - messageQueue.Enqueue(*msg[3]); - VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[2], msg[0], msg[3]); + messageQueue.Enqueue(*messages[0]); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[2], messages[0]); + messageQueue.Enqueue(*messages[3]); + VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[2], messages[0], messages[3]); // Remove from middle - messageQueue.Dequeue(*msg[2]); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]); + messageQueue.Dequeue(*messages[2]); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]); // Add to head - messageQueue.Enqueue(*msg[2], ot::MessageQueue::kQueuePositionHead); - VerifyMessageQueueContent(messageQueue, 4, msg[2], msg[1], msg[0], msg[3]); + messageQueue.Enqueue(*messages[2], ot::MessageQueue::kQueuePositionHead); + VerifyMessageQueueContent(messageQueue, 4, messages[2], messages[1], messages[0], messages[3]); // Remove from head - messageQueue.Dequeue(*msg[2]); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]); + messageQueue.Dequeue(*messages[2]); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]); // Remove from head - messageQueue.Dequeue(*msg[1]); - VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[3]); + messageQueue.Dequeue(*messages[1]); + VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[3]); // Add to head - messageQueue.Enqueue(*msg[1], ot::MessageQueue::kQueuePositionHead); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[3]); + messageQueue.Enqueue(*messages[1], ot::MessageQueue::kQueuePositionHead); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[3]); // Add to tail - messageQueue.Enqueue(*msg[2], ot::MessageQueue::kQueuePositionTail); - VerifyMessageQueueContent(messageQueue, 4, msg[1], msg[0], msg[3], msg[2]); + messageQueue.Enqueue(*messages[2], ot::MessageQueue::kQueuePositionTail); + VerifyMessageQueueContent(messageQueue, 4, messages[1], messages[0], messages[3], messages[2]); // Remove all messages. - messageQueue.Dequeue(*msg[3]); - VerifyMessageQueueContent(messageQueue, 3, msg[1], msg[0], msg[2]); - messageQueue.Dequeue(*msg[1]); - VerifyMessageQueueContent(messageQueue, 2, msg[0], msg[2]); - messageQueue.Dequeue(*msg[2]); - VerifyMessageQueueContent(messageQueue, 1, msg[0]); - messageQueue.Dequeue(*msg[0]); + messageQueue.Dequeue(*messages[3]); + VerifyMessageQueueContent(messageQueue, 3, messages[1], messages[0], messages[2]); + messageQueue.Dequeue(*messages[1]); + VerifyMessageQueueContent(messageQueue, 2, messages[0], messages[2]); + messageQueue.Dequeue(*messages[2]); + VerifyMessageQueueContent(messageQueue, 1, messages[0]); + messageQueue.Dequeue(*messages[0]); VerifyMessageQueueContent(messageQueue, 0); testFreeInstance(sInstance); @@ -213,17 +213,17 @@ void VerifyMessageQueueContentUsingOtApi(otMessageQueue *aQueue, int aExpectedLe // This test checks all the OpenThread C APIs for `otMessageQueue` void TestMessageQueueOtApis(void) { - otMessage * msg[kNumTestMessages]; + otMessage * messages[kNumTestMessages]; otMessage * message; otMessageQueue queue, queue2; sInstance = testInitInstance(); VerifyOrQuit(sInstance != nullptr, "Null instance"); - for (int i = 0; i < kNumTestMessages; i++) + for (otMessage *&msg : messages) { - msg[i] = otIp6NewMessage(sInstance, nullptr); - VerifyOrQuit(msg[i] != nullptr, "otIp6NewMessage() failed."); + msg = otIp6NewMessage(sInstance, nullptr); + VerifyOrQuit(msg != nullptr, "otIp6NewMessage() failed."); } otMessageQueueInit(&queue); @@ -233,42 +233,42 @@ void TestMessageQueueOtApis(void) VerifyMessageQueueContentUsingOtApi(&queue, 0); // Add message to the queue and check the content - otMessageQueueEnqueue(&queue, msg[0]); - VerifyMessageQueueContentUsingOtApi(&queue, 1, msg[0]); - otMessageQueueEnqueue(&queue, msg[1]); - VerifyMessageQueueContentUsingOtApi(&queue, 2, msg[0], msg[1]); - otMessageQueueEnqueueAtHead(&queue, msg[2]); - VerifyMessageQueueContentUsingOtApi(&queue, 3, msg[2], msg[0], msg[1]); - otMessageQueueEnqueue(&queue, msg[3]); - VerifyMessageQueueContentUsingOtApi(&queue, 4, msg[2], msg[0], msg[1], msg[3]); + otMessageQueueEnqueue(&queue, messages[0]); + VerifyMessageQueueContentUsingOtApi(&queue, 1, messages[0]); + otMessageQueueEnqueue(&queue, messages[1]); + VerifyMessageQueueContentUsingOtApi(&queue, 2, messages[0], messages[1]); + otMessageQueueEnqueueAtHead(&queue, messages[2]); + VerifyMessageQueueContentUsingOtApi(&queue, 3, messages[2], messages[0], messages[1]); + otMessageQueueEnqueue(&queue, messages[3]); + VerifyMessageQueueContentUsingOtApi(&queue, 4, messages[2], messages[0], messages[1], messages[3]); // Remove elements and check the content - otMessageQueueDequeue(&queue, msg[1]); - VerifyMessageQueueContentUsingOtApi(&queue, 3, msg[2], msg[0], msg[3]); - otMessageQueueDequeue(&queue, msg[0]); - VerifyMessageQueueContentUsingOtApi(&queue, 2, msg[2], msg[3]); - otMessageQueueDequeue(&queue, msg[3]); - VerifyMessageQueueContentUsingOtApi(&queue, 1, msg[2]); + otMessageQueueDequeue(&queue, messages[1]); + VerifyMessageQueueContentUsingOtApi(&queue, 3, messages[2], messages[0], messages[3]); + otMessageQueueDequeue(&queue, messages[0]); + VerifyMessageQueueContentUsingOtApi(&queue, 2, messages[2], messages[3]); + otMessageQueueDequeue(&queue, messages[3]); + VerifyMessageQueueContentUsingOtApi(&queue, 1, messages[2]); // Check the failure cases for otMessageQueueGetNext() message = otMessageQueueGetNext(&queue, nullptr); VerifyOrQuit(message == nullptr, "otMessageQueueGetNext(queue, nullptr) did not return nullptr."); - message = otMessageQueueGetNext(&queue, msg[1]); + message = otMessageQueueGetNext(&queue, messages[1]); VerifyOrQuit(message == nullptr, "otMessageQueueGetNext() did not return nullptr for a message not in the queue."); // Check the failure case when attempting to do otMessageQueueGetNext() but passing in a wrong queue pointer. - otMessageQueueEnqueue(&queue2, msg[0]); - VerifyMessageQueueContentUsingOtApi(&queue2, 1, msg[0]); - otMessageQueueEnqueue(&queue2, msg[1]); - VerifyMessageQueueContentUsingOtApi(&queue2, 2, msg[0], msg[1]); + otMessageQueueEnqueue(&queue2, messages[0]); + VerifyMessageQueueContentUsingOtApi(&queue2, 1, messages[0]); + otMessageQueueEnqueue(&queue2, messages[1]); + VerifyMessageQueueContentUsingOtApi(&queue2, 2, messages[0], messages[1]); - message = otMessageQueueGetNext(&queue2, msg[0]); - VerifyOrQuit(message == msg[1], "otMessageQueueGetNext() failed"); - message = otMessageQueueGetNext(&queue, msg[0]); + message = otMessageQueueGetNext(&queue2, messages[0]); + VerifyOrQuit(message == messages[1], "otMessageQueueGetNext() failed"); + message = otMessageQueueGetNext(&queue, messages[0]); VerifyOrQuit(message == nullptr, "otMessageQueueGetNext() did not return nullptr for message not in the queue."); // Remove all element and make sure queue is empty - otMessageQueueDequeue(&queue, msg[2]); + otMessageQueueDequeue(&queue, messages[2]); VerifyMessageQueueContentUsingOtApi(&queue, 0); testFreeInstance(sInstance); diff --git a/tests/unit/test_network_data.cpp b/tests/unit/test_network_data.cpp index 8dc885049..534a6be34 100644 --- a/tests/unit/test_network_data.cpp +++ b/tests/unit/test_network_data.cpp @@ -53,9 +53,9 @@ void PrintExternalRouteConfig(const ExternalRouteConfig &aConfig) { printf("\nprefix:"); - for (uint8_t i = 0; i < 16; i++) + for (uint8_t b : aConfig.mPrefix.mPrefix.mFields.m8) { - printf("%02x", aConfig.mPrefix.mPrefix.mFields.m8[i]); + printf("%02x", b); } printf(", length:%d, rloc16:%04x, preference:%d, stable:%d, nexthop:%d", aConfig.mPrefix.mLength, aConfig.mRloc16, @@ -110,11 +110,11 @@ void TestNetworkDataIterator(void) printf("\nTest #1: Network data 1"); printf("\n-------------------------------------------------"); - for (uint8_t i = 0; i < OT_ARRAY_LENGTH(routes); i++) + for (const auto &route : routes) { SuccessOrQuit(netData.GetNextExternalRoute(iter, config), "GetNextExternalRoute() failed"); PrintExternalRouteConfig(config); - VerifyOrQuit(CompareExternalRouteConfig(config, routes[i]) == true, + VerifyOrQuit(CompareExternalRouteConfig(config, route) == true, "external route config does not match expectation"); } } @@ -160,11 +160,11 @@ void TestNetworkDataIterator(void) printf("\nTest #2: Network data 2"); printf("\n-------------------------------------------------"); - for (uint8_t i = 0; i < OT_ARRAY_LENGTH(routes); i++) + for (const auto &route : routes) { SuccessOrQuit(netData.GetNextExternalRoute(iter, config), "GetNextExternalRoute() failed"); PrintExternalRouteConfig(config); - VerifyOrQuit(CompareExternalRouteConfig(config, routes[i]) == true, + VerifyOrQuit(CompareExternalRouteConfig(config, route) == true, "external route config does not match expectation"); } } diff --git a/tests/unit/test_pool.cpp b/tests/unit/test_pool.cpp index 6ab037f01..8d857d4b3 100644 --- a/tests/unit/test_pool.cpp +++ b/tests/unit/test_pool.cpp @@ -86,12 +86,12 @@ void TestPool(EntryPool &aPool, bool aInitWithInstance) VerifyOrQuit(aPool.GetSize() == kPoolSize, "Pool::GetSize() failed"); - for (uint16_t i = 0; i < kPoolSize; i++) + for (Entry *&entry : entries) { - entries[i] = aPool.Allocate(); - VerifyOrQuit(entries[i] != nullptr, "Pool::Allocate() failed"); + entry = aPool.Allocate(); + VerifyOrQuit(entry != nullptr, "Pool::Allocate() failed"); - VerifyEntry(aPool, *entries[i], aInitWithInstance); + VerifyEntry(aPool, *entry, aInitWithInstance); } for (uint16_t numEntriesToFree = 1; numEntriesToFree <= kPoolSize; numEntriesToFree++) diff --git a/tests/unit/test_timer.cpp b/tests/unit/test_timer.cpp index ad63ed817..ed73378fa 100644 --- a/tests/unit/test_timer.cpp +++ b/tests/unit/test_timer.cpp @@ -585,21 +585,17 @@ int TestTimerTime(void) ot::Time t1; ot::Time t2; - for (size_t i = 0; i < OT_ARRAY_LENGTH(kStartTimes); i++) + for (uint32_t startTime : kStartTimes) { - uint32_t start = kStartTimes[i]; - - for (size_t j = 0; j < OT_ARRAY_LENGTH(kDurations); j++) + for (uint32_t duration : kDurations) { - uint32_t duration = kDurations[j]; + printf("TestTimerTime() start=%-10x duration=%-10x ", startTime, duration); - printf("TestTimerTime() start=%-10x duration=%-10x ", start, duration); - - t1.SetValue(start); - VerifyOrQuit(t1.GetValue() == start, "Time::SetValue() failed."); + t1.SetValue(startTime); + VerifyOrQuit(t1.GetValue() == startTime, "Time::SetValue() failed."); t2 = t1; - VerifyOrQuit(t1.GetValue() == start, "Time assignment failed."); + VerifyOrQuit(t1.GetValue() == startTime, "Time assignment failed."); VerifyOrQuit(t1 == t2, "Time == failed."); VerifyOrQuit(!(t1 != t2), "Time != failed.");