diff --git a/src/core/meshcop/joiner.cpp b/src/core/meshcop/joiner.cpp index e668e6d94..9fcac5bfe 100644 --- a/src/core/meshcop/joiner.cpp +++ b/src/core/meshcop/joiner.cpp @@ -156,9 +156,9 @@ otError Joiner::Start(const char * aPskd, SuccessOrExit(error = Get().Start(kJoinerUdpPort)); Get().SetPsk(joinerPskd); - for (JoinerRouter *router = &mJoinerRouters[0]; router < OT_ARRAY_END(mJoinerRouters); router++) + for (JoinerRouter &router : mJoinerRouters) { - router->mPriority = 0; // Priority zero means entry is not in-use. + router.mPriority = 0; // Priority zero means entry is not in-use. } SuccessOrExit(error = PrepareJoinerFinalizeMessage(aProvisioningUrl, aVendorName, aVendorModel, aVendorSwVersion, diff --git a/src/core/thread/child_table.cpp b/src/core/thread/child_table.cpp index b859a9429..f6035867d 100644 --- a/src/core/thread/child_table.cpp +++ b/src/core/thread/child_table.cpp @@ -77,18 +77,18 @@ ChildTable::ChildTable(Instance &aInstance) : InstanceLocator(aInstance) , mMaxChildrenAllowed(kMaxChildren) { - for (Child *child = &mChildren[0]; child < OT_ARRAY_END(mChildren); child++) + for (Child &child : mChildren) { - child->Init(aInstance); - child->Clear(); + child.Init(aInstance); + child.Clear(); } } void ChildTable::Clear(void) { - for (Child *child = &mChildren[0]; child < OT_ARRAY_END(mChildren); child++) + for (Child &child : mChildren) { - child->Clear(); + child.Clear(); } } diff --git a/src/core/thread/mesh_forwarder_ftd.cpp b/src/core/thread/mesh_forwarder_ftd.cpp index 51c28337f..7909884fe 100644 --- a/src/core/thread/mesh_forwarder_ftd.cpp +++ b/src/core/thread/mesh_forwarder_ftd.cpp @@ -731,13 +731,13 @@ bool MeshForwarder::UpdateFragmentLifetime(void) { bool shouldRun = false; - for (FragmentPriorityEntry *entry = &mFragmentEntries[0]; entry < OT_ARRAY_END(mFragmentEntries); entry++) + for (FragmentPriorityEntry &entry : mFragmentEntries) { - if (entry->GetLifetime() != 0) + if (entry.GetLifetime() != 0) { - entry->DecrementLifetime(); + entry.DecrementLifetime(); - if (entry->GetLifetime() != 0) + if (entry.GetLifetime() != 0) { shouldRun = true; } @@ -787,38 +787,34 @@ exit: FragmentPriorityEntry *MeshForwarder::FindFragmentPriorityEntry(uint16_t aTag, uint16_t aSrcRloc16) { - FragmentPriorityEntry *entry; + FragmentPriorityEntry *rval = nullptr; - for (entry = &mFragmentEntries[0]; entry < OT_ARRAY_END(mFragmentEntries); entry++) + for (FragmentPriorityEntry &entry : mFragmentEntries) { - if ((entry->GetLifetime() != 0) && (entry->GetDatagramTag() == aTag) && (entry->GetSrcRloc16() == aSrcRloc16)) + if ((entry.GetLifetime() != 0) && (entry.GetDatagramTag() == aTag) && (entry.GetSrcRloc16() == aSrcRloc16)) { - ExitNow(); + rval = &entry; + break; } } - entry = nullptr; - -exit: - return entry; + return rval; } FragmentPriorityEntry *MeshForwarder::GetUnusedFragmentPriorityEntry(void) { - FragmentPriorityEntry *entry; + FragmentPriorityEntry *rval = nullptr; - for (entry = &mFragmentEntries[0]; entry < OT_ARRAY_END(mFragmentEntries); entry++) + for (FragmentPriorityEntry &entry : mFragmentEntries) { - if (entry->GetLifetime() == 0) + if (entry.GetLifetime() == 0) { - ExitNow(); + rval = &entry; + break; } } - entry = nullptr; - -exit: - return entry; + return rval; } otError MeshForwarder::GetFragmentPriority(Lowpan::FragmentHeader &aFragmentHeader, diff --git a/src/core/thread/router_table.cpp b/src/core/thread/router_table.cpp index d44bcb392..f0c4612b8 100644 --- a/src/core/thread/router_table.cpp +++ b/src/core/thread/router_table.cpp @@ -59,9 +59,9 @@ RouterTable::RouterTable(Instance &aInstance) , mRouterIdSequence(Random::NonCrypto::GetUint8()) , mActiveRouterCount(0) { - for (uint8_t index = 0; index < Mle::kMaxRouters; index++) + for (Router &router : mRouters) { - mRouters[index].Init(aInstance); + router.Init(aInstance); } Clear(); @@ -96,10 +96,8 @@ void RouterTable::Clear(void) void RouterTable::ClearNeighbors(void) { - for (uint8_t index = 0; index < Mle::kMaxRouters; index++) + for (Router &router : mRouters) { - Router &router = mRouters[index]; - if (router.IsStateValid()) { Get().Signal(OT_NEIGHBOR_TABLE_EVENT_ROUTER_REMOVED, router); diff --git a/src/core/utils/slaac_address.cpp b/src/core/utils/slaac_address.cpp index 7af3c1e97..3e419d2e3 100644 --- a/src/core/utils/slaac_address.cpp +++ b/src/core/utils/slaac_address.cpp @@ -150,7 +150,6 @@ void Slaac::Update(UpdateMode aMode) { NetworkData::Iterator iterator; NetworkData::OnMeshPrefixConfig config; - Ip6::NetifUnicastAddress * slaacAddr; bool found; if (aMode & kModeRemove) @@ -158,9 +157,9 @@ void Slaac::Update(UpdateMode aMode) // If enabled, remove any SLAAC addresses with no matching on-mesh prefix, // otherwise (when disabled) remove all previously added SLAAC addresses. - for (slaacAddr = &mAddresses[0]; slaacAddr < OT_ARRAY_END(mAddresses); slaacAddr++) + for (Ip6::NetifUnicastAddress &slaacAddr : mAddresses) { - if (!slaacAddr->mValid) + if (!slaacAddr.mValid) { continue; } @@ -180,7 +179,7 @@ void Slaac::Update(UpdateMode aMode) } if (config.mSlaac && !ShouldFilter(config.GetPrefix()) && - DoesConfigMatchNetifAddr(config, *slaacAddr)) + DoesConfigMatchNetifAddr(config, slaacAddr)) { found = true; break; @@ -190,10 +189,10 @@ void Slaac::Update(UpdateMode aMode) if (!found) { - otLogInfoUtil("SLAAC: Removing address %s", slaacAddr->GetAddress().ToString().AsCString()); + otLogInfoUtil("SLAAC: Removing address %s", slaacAddr.GetAddress().ToString().AsCString()); - Get().RemoveUnicastAddress(*slaacAddr); - slaacAddr->mValid = false; + Get().RemoveUnicastAddress(slaacAddr); + slaacAddr.mValid = false; } } } @@ -229,26 +228,26 @@ void Slaac::Update(UpdateMode aMode) { bool added = false; - for (slaacAddr = &mAddresses[0]; slaacAddr < OT_ARRAY_END(mAddresses); slaacAddr++) + for (Ip6::NetifUnicastAddress &slaacAddr : mAddresses) { - if (slaacAddr->mValid) + if (slaacAddr.mValid) { continue; } - slaacAddr->Clear(); - slaacAddr->GetAddress().SetPrefix(prefix); + slaacAddr.Clear(); + slaacAddr.GetAddress().SetPrefix(prefix); - slaacAddr->mPrefixLength = config.mOnMesh ? prefix.mLength : 128; - slaacAddr->mAddressOrigin = OT_ADDRESS_ORIGIN_SLAAC; - slaacAddr->mPreferred = config.mPreferred; - slaacAddr->mValid = true; + slaacAddr.mPrefixLength = config.mOnMesh ? prefix.mLength : 128; + slaacAddr.mAddressOrigin = OT_ADDRESS_ORIGIN_SLAAC; + slaacAddr.mPreferred = config.mPreferred; + slaacAddr.mValid = true; - IgnoreError(GenerateIid(*slaacAddr)); + IgnoreError(GenerateIid(slaacAddr)); - otLogInfoUtil("SLAAC: Adding address %s", slaacAddr->GetAddress().ToString().AsCString()); + otLogInfoUtil("SLAAC: Adding address %s", slaacAddr.GetAddress().ToString().AsCString()); - Get().AddUnicastAddress(*slaacAddr); + Get().AddUnicastAddress(slaacAddr); added = true; break;