Use static_cast instead of reinterpret_cast when possible. (#667)

This commit is contained in:
Jonathan Hui
2016-09-22 15:14:23 -07:00
committed by GitHub
parent 713e2260d1
commit d848ed12e8
14 changed files with 102 additions and 129 deletions
+1 -2
View File
@@ -65,8 +65,7 @@ exit:
void Udp::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
{
Udp *obj = reinterpret_cast<Udp *>(aContext);
obj->HandleUdpReceive(aMessage, aMessageInfo);
static_cast<Udp *>(aContext)->HandleUdpReceive(aMessage, aMessageInfo);
}
void Udp::HandleUdpReceive(otMessage aMessage, const otMessageInfo *aMessageInfo)
+2 -2
View File
@@ -102,8 +102,8 @@ exit:
void Server::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
{
Server *obj = reinterpret_cast<Server *>(aContext);
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
static_cast<Server *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
}
void Server::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
+3 -6
View File
@@ -536,8 +536,7 @@ void Mac::SendBeacon(Frame &aFrame)
void Mac::HandleBeginTransmit(void *aContext)
{
Mac *obj = reinterpret_cast<Mac *>(aContext);
obj->HandleBeginTransmit();
static_cast<Mac *>(aContext)->HandleBeginTransmit();
}
void Mac::ProcessTransmitSecurity(Frame &aFrame)
@@ -711,8 +710,7 @@ exit:
void Mac::HandleMacTimer(void *aContext)
{
Mac *obj = reinterpret_cast<Mac *>(aContext);
obj->HandleMacTimer();
static_cast<Mac *>(aContext)->HandleMacTimer();
}
void Mac::HandleMacTimer(void)
@@ -785,8 +783,7 @@ exit:
void Mac::HandleReceiveTimer(void *aContext)
{
Mac *obj = reinterpret_cast<Mac *>(aContext);
obj->HandleReceiveTimer();
static_cast<Mac *>(aContext)->HandleReceiveTimer();
}
void Mac::HandleReceiveTimer(void)
+1 -2
View File
@@ -95,8 +95,7 @@ exit:
void Mpl::HandleTimer(void *aContext)
{
Mpl *obj = reinterpret_cast<Mpl *>(aContext);
obj->HandleTimer();
static_cast<Mpl *>(aContext)->HandleTimer();
}
void Mpl::HandleTimer()
+1 -2
View File
@@ -351,8 +351,7 @@ void Netif::SetStateChangedFlags(uint32_t aFlags)
void Netif::HandleStateChangedTask(void *aContext)
{
Netif *obj = reinterpret_cast<Netif *>(aContext);
obj->HandleStateChangedTask();
static_cast<Netif *>(aContext)->HandleStateChangedTask();
}
void Netif::HandleStateChangedTask(void)
+8 -8
View File
@@ -1112,7 +1112,7 @@ bool otIsDiscoverInProgress(otInstance *)
void HandleMleDiscover(otActiveScanResult *aResult, void *aContext)
{
otInstance *aInstance = reinterpret_cast<otInstance *>(aContext);
otInstance *aInstance = static_cast<otInstance *>(aContext);
(void)aInstance;
sDiscoverCallback(aResult, sDiscoverCallbackContext);
}
@@ -1205,7 +1205,7 @@ int otWriteMessage(otMessage aMessage, uint16_t aOffset, const void *aBuf, uint1
ThreadError otOpenUdpSocket(otInstance *, otUdpSocket *aSocket, otUdpReceive aCallback, void *aCallbackContext)
{
ThreadError error = kThreadError_Busy;
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
if (socket->mTransport == NULL)
{
@@ -1219,7 +1219,7 @@ ThreadError otOpenUdpSocket(otInstance *, otUdpSocket *aSocket, otUdpReceive aCa
ThreadError otCloseUdpSocket(otUdpSocket *aSocket)
{
ThreadError error = kThreadError_InvalidState;
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
if (socket->mTransport != NULL)
{
@@ -1236,15 +1236,15 @@ ThreadError otCloseUdpSocket(otUdpSocket *aSocket)
ThreadError otBindUdpSocket(otUdpSocket *aSocket, otSockAddr *aSockName)
{
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
return socket->Bind(*reinterpret_cast<const Ip6::SockAddr *>(aSockName));
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
return socket->Bind(*static_cast<const Ip6::SockAddr *>(aSockName));
}
ThreadError otSendUdp(otUdpSocket *aSocket, otMessage aMessage, const otMessageInfo *aMessageInfo)
{
Ip6::UdpSocket *socket = reinterpret_cast<Ip6::UdpSocket *>(aSocket);
return socket->SendTo(*reinterpret_cast<Message *>(aMessage),
*reinterpret_cast<const Ip6::MessageInfo *>(aMessageInfo));
Ip6::UdpSocket *socket = static_cast<Ip6::UdpSocket *>(aSocket);
return socket->SendTo(*static_cast<Message *>(aMessage),
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
}
bool otIsIcmpEchoEnabled(otInstance *)
+5 -10
View File
@@ -227,8 +227,7 @@ void AddressResolver::HandleUdpReceive(void *aContext, otMessage aMessage, const
void AddressResolver::HandleAddressNotification(void *aContext, Coap::Header &aHeader, Message &aMessage,
const Ip6::MessageInfo &aMessageInfo)
{
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
obj->HandleAddressNotification(aHeader, aMessage, aMessageInfo);
static_cast<AddressResolver *>(aContext)->HandleAddressNotification(aHeader, aMessage, aMessageInfo);
}
void AddressResolver::HandleAddressNotification(Coap::Header &aHeader, Message &aMessage,
@@ -429,8 +428,7 @@ exit:
void AddressResolver::HandleAddressError(void *aContext, Coap::Header &aHeader,
Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
obj->HandleAddressError(aHeader, aMessage, aMessageInfo);
static_cast<AddressResolver *>(aContext)->HandleAddressError(aHeader, aMessage, aMessageInfo);
}
void AddressResolver::HandleAddressError(Coap::Header &aHeader, Message &aMessage,
@@ -508,8 +506,7 @@ exit:
void AddressResolver::HandleAddressQuery(void *aContext, Coap::Header &aHeader, Message &aMessage,
const Ip6::MessageInfo &aMessageInfo)
{
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
obj->HandleAddressQuery(aHeader, aMessage, aMessageInfo);
static_cast<AddressResolver *>(aContext)->HandleAddressQuery(aHeader, aMessage, aMessageInfo);
}
void AddressResolver::HandleAddressQuery(Coap::Header &aHeader, Message &aMessage,
@@ -622,8 +619,7 @@ exit:
void AddressResolver::HandleTimer(void *aContext)
{
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
obj->HandleTimer();
static_cast<AddressResolver *>(aContext)->HandleTimer();
}
void AddressResolver::HandleTimer()
@@ -675,8 +671,7 @@ void AddressResolver::HandleTimer()
void AddressResolver::HandleDstUnreach(void *aContext, Message &aMessage, const Ip6::MessageInfo &aMessageInfo,
const Ip6::IcmpHeader &aIcmpHeader)
{
AddressResolver *obj = reinterpret_cast<AddressResolver *>(aContext);
obj->HandleDstUnreach(aMessage, aMessageInfo, aIcmpHeader);
static_cast<AddressResolver *>(aContext)->HandleDstUnreach(aMessage, aMessageInfo, aIcmpHeader);
(void)aMessageInfo;
}
+10 -16
View File
@@ -170,8 +170,7 @@ void MeshForwarder::HandleResolved(const Ip6::Address &aEid, ThreadError aError)
void MeshForwarder::ScheduleTransmissionTask(void *aContext)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
obj->ScheduleTransmissionTask();
static_cast<MeshForwarder *>(aContext)->ScheduleTransmissionTask();
}
void MeshForwarder::ScheduleTransmissionTask()
@@ -242,7 +241,7 @@ ThreadError MeshForwarder::SendMessage(Message &aMessage)
(neighbor->mMode & Mle::ModeTlv::kModeRxOnWhenIdle) == 0)
{
// destined for a sleepy child
aMessage.SetChildMask(mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor)));
aMessage.SetChildMask(mMle.GetChildIndex(*static_cast<Child *>(neighbor)));
}
else
{
@@ -259,7 +258,7 @@ ThreadError MeshForwarder::SendMessage(Message &aMessage)
(neighbor->mMode & Mle::ModeTlv::kModeRxOnWhenIdle) == 0)
{
// destined for a sleepy child
aMessage.SetChildMask(mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor)));
aMessage.SetChildMask(mMle.GetChildIndex(*static_cast<Child *>(neighbor)));
}
else
{
@@ -613,8 +612,7 @@ uint32_t MeshForwarder::GetPollPeriod()
void MeshForwarder::HandlePollTimer(void *aContext)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
obj->HandlePollTimer();
static_cast<MeshForwarder *>(aContext)->HandlePollTimer();
}
void MeshForwarder::HandlePollTimer()
@@ -678,8 +676,7 @@ ThreadError MeshForwarder::GetMacDestinationAddress(const Ip6::Address &aIp6Addr
ThreadError MeshForwarder::HandleFrameRequest(void *aContext, Mac::Frame &aFrame)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
return obj->HandleFrameRequest(aFrame);
return static_cast<MeshForwarder *>(aContext)->HandleFrameRequest(aFrame);
}
ThreadError MeshForwarder::HandleFrameRequest(Mac::Frame &aFrame)
@@ -982,8 +979,7 @@ ThreadError MeshForwarder::SendFragment(Message &aMessage, Mac::Frame &aFrame)
void MeshForwarder::HandleSentFrame(void *aContext, Mac::Frame &aFrame)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
obj->HandleSentFrame(aFrame);
static_cast<MeshForwarder *>(aContext)->HandleSentFrame(aFrame);
}
void MeshForwarder::HandleSentFrame(Mac::Frame &aFrame)
@@ -1101,8 +1097,7 @@ exit:
void MeshForwarder::HandleReceivedFrame(void *aContext, Mac::Frame &aFrame, ThreadError aError)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
obj->HandleReceivedFrame(aFrame, aError);
static_cast<MeshForwarder *>(aContext)->HandleReceivedFrame(aFrame, aError);
}
void MeshForwarder::HandleReceivedFrame(Mac::Frame &aFrame, ThreadError aError)
@@ -1373,8 +1368,7 @@ exit:
void MeshForwarder::HandleReassemblyTimer(void *aContext)
{
MeshForwarder *obj = reinterpret_cast<MeshForwarder *>(aContext);
obj->HandleReassemblyTimer();
static_cast<MeshForwarder *>(aContext)->HandleReassemblyTimer();
}
void MeshForwarder::HandleReassemblyTimer()
@@ -1468,8 +1462,8 @@ void MeshForwarder::HandleDataRequest(const Mac::Address &aMacSource, const Thre
VerifyOrExit((neighbor = mMle.GetNeighbor(aMacSource)) != NULL, ;);
neighbor->mLastHeard = Timer::GetNow();
mMle.HandleMacDataRequest(*reinterpret_cast<Child *>(neighbor));
childIndex = mMle.GetChildIndex(*reinterpret_cast<Child *>(neighbor));
mMle.HandleMacDataRequest(*static_cast<Child *>(neighbor));
childIndex = mMle.GetChildIndex(*static_cast<Child *>(neighbor));
for (Message *message = mSendQueue.GetHead(); message; message = message->GetNext())
{
+7 -10
View File
@@ -927,8 +927,7 @@ exit:
void Mle::HandleNetifStateChanged(uint32_t aFlags, void *aContext)
{
Mle *obj = reinterpret_cast<Mle *>(aContext);
obj->HandleNetifStateChanged(aFlags);
static_cast<Mle *>(aContext)->HandleNetifStateChanged(aFlags);
}
void Mle::HandleNetifStateChanged(uint32_t aFlags)
@@ -970,8 +969,7 @@ void Mle::HandleNetifStateChanged(uint32_t aFlags)
void Mle::HandleParentRequestTimer(void *aContext)
{
Mle *obj = reinterpret_cast<Mle *>(aContext);
obj->HandleParentRequestTimer();
static_cast<Mle *>(aContext)->HandleParentRequestTimer();
}
void Mle::HandleParentRequestTimer(void)
@@ -1217,8 +1215,7 @@ exit:
void Mle::HandleSendChildUpdateRequest(void *aContext)
{
Mle *obj = reinterpret_cast<Mle *>(aContext);
obj->HandleSendChildUpdateRequest();
static_cast<Mle *>(aContext)->HandleSendChildUpdateRequest();
}
void Mle::HandleSendChildUpdateRequest(void)
@@ -1365,8 +1362,8 @@ exit:
void Mle::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
{
Mle *obj = reinterpret_cast<Mle *>(aContext);
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
static_cast<Mle *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
}
void Mle::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
@@ -1779,7 +1776,7 @@ ThreadError Mle::HandleParentResponse(const Message &aMessage, const Ip6::Messag
uint32_t aKeySequence)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
ResponseTlv response;
SourceAddressTlv sourceAddress;
LeaderDataTlv leaderData;
@@ -2227,7 +2224,7 @@ exit:
ThreadError Mle::HandleDiscoveryResponse(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
Tlv tlv;
MeshCoP::Tlv meshcopTlv;
MeshCoP::DiscoveryResponseTlv discoveryResponse;
+11 -14
View File
@@ -626,7 +626,7 @@ ThreadError MleRouter::HandleLinkRequest(const Message &aMessage, const Ip6::Mes
if (neighbor->mState != Neighbor::kStateValid)
{
const ThreadMessageInfo *threadMessageInfo =
reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
memcpy(&neighbor->mMacAddr, &macAddr, sizeof(neighbor->mMacAddr));
neighbor->mLinkInfo.Clear();
@@ -665,7 +665,7 @@ ThreadError MleRouter::SendLinkAccept(const Ip6::MessageInfo &aMessageInfo, Neig
const TlvRequestTlv &aTlvRequest, const ChallengeTlv &aChallenge)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
static const uint8_t routerTlvs[] = {Tlv::kLinkMargin};
Message *message;
Header::Command command;
@@ -771,7 +771,7 @@ ThreadError MleRouter::HandleLinkAccept(const Message &aMessage, const Ip6::Mess
uint32_t aKeySequence, bool aRequest)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
Neighbor *neighbor = NULL;
Mac::ExtAddress macAddr;
VersionTlv version;
@@ -1217,7 +1217,7 @@ uint8_t MleRouter::GetActiveRouterCount(void) const
ThreadError MleRouter::HandleAdvertisement(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
Mac::ExtAddress macAddr;
SourceAddressTlv sourceAddress;
LeaderDataTlv leaderData;
@@ -1558,7 +1558,7 @@ void MleRouter::UpdateRoutes(const RouteTlv &aRoute, uint8_t aRouterId)
ThreadError MleRouter::HandleParentRequest(const Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
Mac::ExtAddress macAddr;
VersionTlv version;
ScanMaskTlv scanMask;
@@ -1630,8 +1630,7 @@ exit:
void MleRouter::HandleStateUpdateTimer(void *aContext)
{
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
obj->HandleStateUpdateTimer();
static_cast<MleRouter *>(aContext)->HandleStateUpdateTimer();
}
void MleRouter::HandleStateUpdateTimer(void)
@@ -1831,7 +1830,7 @@ ThreadError MleRouter::HandleChildIdRequest(const Message &aMessage, const Ip6::
uint32_t aKeySequence)
{
ThreadError error = kThreadError_None;
const ThreadMessageInfo *threadMessageInfo = reinterpret_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
const ThreadMessageInfo *threadMessageInfo = static_cast<const ThreadMessageInfo *>(aMessageInfo.mLinkInfo);
Mac::ExtAddress macAddr;
ResponseTlv response;
LinkFrameCounterTlv linkFrameCounter;
@@ -2950,9 +2949,9 @@ exit:
void MleRouter::HandleUdpReceive(void *aContext, otMessage aMessage, const otMessageInfo *aMessageInfo)
{
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
static_cast<MleRouter *>(aContext)->HandleUdpReceive(*static_cast<Message *>(aMessage),
*static_cast<const Ip6::MessageInfo *>(aMessageInfo));
(void)aMessageInfo;
obj->HandleUdpReceive(*static_cast<Message *>(aMessage), *static_cast<const Ip6::MessageInfo *>(aMessageInfo));
}
void MleRouter::HandleUdpReceive(Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
@@ -3049,8 +3048,7 @@ exit:
void MleRouter::HandleAddressSolicit(void *aContext, Coap::Header &aHeader, Message &aMessage,
const Ip6::MessageInfo &aMessageInfo)
{
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
obj->HandleAddressSolicit(aHeader, aMessage, aMessageInfo);
static_cast<MleRouter *>(aContext)->HandleAddressSolicit(aHeader, aMessage, aMessageInfo);
}
void MleRouter::HandleAddressSolicit(Coap::Header &aHeader, Message &aMessage, const Ip6::MessageInfo &aMessageInfo)
@@ -3212,8 +3210,7 @@ exit:
void MleRouter::HandleAddressRelease(void *aContext, Coap::Header &aHeader, Message &aMessage,
const Ip6::MessageInfo &aMessageInfo)
{
MleRouter *obj = reinterpret_cast<MleRouter *>(aContext);
obj->HandleAddressRelease(aHeader, aMessage, aMessageInfo);
static_cast<MleRouter *>(aContext)->HandleAddressRelease(aHeader, aMessage, aMessageInfo);
}
void MleRouter::HandleAddressRelease(Coap::Header &aHeader, Message &aMessage,
+12 -12
View File
@@ -317,7 +317,7 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength)
void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, PrefixTlv &aPrefix)
{
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end;
BorderRouterTlv *borderRouter;
HasRouteTlv *hasRoute;
@@ -331,7 +331,7 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, Pref
while (1)
{
end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
end = aPrefix.GetNext();
if (cur >= end)
{
@@ -410,8 +410,8 @@ void NetworkData::RemoveTemporaryData(uint8_t *aData, uint8_t &aDataLength, Pref
BorderRouterTlv *NetworkData::FindBorderRouter(PrefixTlv &aPrefix)
{
BorderRouterTlv *rval = NULL;
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
@@ -430,8 +430,8 @@ exit:
BorderRouterTlv *NetworkData::FindBorderRouter(PrefixTlv &aPrefix, bool aStable)
{
BorderRouterTlv *rval = NULL;
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
@@ -451,8 +451,8 @@ exit:
HasRouteTlv *NetworkData::FindHasRoute(PrefixTlv &aPrefix)
{
HasRouteTlv *rval = NULL;
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
@@ -471,8 +471,8 @@ exit:
HasRouteTlv *NetworkData::FindHasRoute(PrefixTlv &aPrefix, bool aStable)
{
HasRouteTlv *rval = NULL;
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
@@ -492,8 +492,8 @@ exit:
ContextTlv *NetworkData::FindContext(PrefixTlv &aPrefix)
{
ContextTlv *rval = NULL;
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
+31 -36
View File
@@ -142,7 +142,7 @@ ThreadError Leader::GetContext(const Ip6::Address &aAddress, Lowpan::Context &aC
continue;
}
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
if (PrefixMatch(prefix->GetPrefix(), aAddress.mFields.m8, prefix->GetPrefixLength()) < 0)
{
@@ -190,7 +190,7 @@ ThreadError Leader::GetContext(uint8_t aContextId, Lowpan::Context &aContext)
continue;
}
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
contextTlv = FindContext(*prefix);
if (contextTlv == NULL)
@@ -232,7 +232,7 @@ bool Leader::IsOnMesh(const Ip6::Address &aAddress)
continue;
}
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
if (PrefixMatch(prefix->GetPrefix(), aAddress.mFields.m8, prefix->GetPrefixLength()) < 0)
{
@@ -266,7 +266,7 @@ ThreadError Leader::RouteLookup(const Ip6::Address &aSource, const Ip6::Address
continue;
}
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
if (PrefixMatch(prefix->GetPrefix(), aSource.mFields.m8, prefix->GetPrefixLength()) >= 0)
{
@@ -313,7 +313,7 @@ ThreadError Leader::ExternalRouteLookup(uint8_t aDomainId, const Ip6::Address &a
continue;
}
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
if (prefix->GetDomainId() != aDomainId)
{
@@ -325,16 +325,14 @@ ThreadError Leader::ExternalRouteLookup(uint8_t aDomainId, const Ip6::Address &a
if (plen > rval_plen)
{
// select border router
for (subCur = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs());
subCur < reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs() + prefix->GetSubTlvsLength());
subCur = subCur->GetNext())
for (subCur = prefix->GetSubTlvs(); subCur < prefix->GetNext(); subCur = subCur->GetNext())
{
if (subCur->GetType() != NetworkDataTlv::kTypeHasRoute)
{
continue;
}
hasRoute = reinterpret_cast<HasRouteTlv *>(subCur);
hasRoute = static_cast<HasRouteTlv *>(subCur);
for (uint8_t i = 0; i < hasRoute->GetNumEntries(); i++)
{
@@ -379,16 +377,14 @@ ThreadError Leader::DefaultRouteLookup(PrefixTlv &aPrefix, uint16_t *aRloc16)
BorderRouterEntry *entry;
BorderRouterEntry *route = NULL;
for (NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
cur < reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
cur = cur->GetNext())
for (NetworkDataTlv *cur = aPrefix.GetSubTlvs(); cur < aPrefix.GetNext(); cur = cur->GetNext())
{
if (cur->GetType() != NetworkDataTlv::kTypeBorderRouter)
{
continue;
}
borderRouter = reinterpret_cast<BorderRouterTlv *>(cur);
borderRouter = static_cast<BorderRouterTlv *>(cur);
for (uint8_t i = 0; i < borderRouter->GetNumEntries(); i++)
{
@@ -529,8 +525,7 @@ exit:
void Leader::HandleServerData(void *aContext, Coap::Header &aHeader, Message &aMessage,
const Ip6::MessageInfo &aMessageInfo)
{
Leader *obj = reinterpret_cast<Leader *>(aContext);
obj->HandleServerData(aHeader, aMessage, aMessageInfo);
static_cast<Leader *>(aContext)->HandleServerData(aHeader, aMessage, aMessageInfo);
}
void Leader::HandleServerData(Coap::Header &aHeader, Message &aMessage,
@@ -602,9 +597,9 @@ void Leader::RlocLookup(uint16_t aRloc16, bool &aIn, bool &aStable, uint8_t *aTl
{
if (cur->GetType() == NetworkDataTlv::kTypePrefix)
{
prefix = reinterpret_cast<PrefixTlv *>(cur);
subCur = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs());
subEnd = reinterpret_cast<NetworkDataTlv *>(prefix->GetSubTlvs() + prefix->GetSubTlvsLength());
prefix = static_cast<PrefixTlv *>(cur);
subCur = prefix->GetSubTlvs();
subEnd = prefix->GetNext();
while (subCur < subEnd)
{
@@ -686,7 +681,7 @@ bool Leader::IsStableUpdated(uint16_t aRloc16, uint8_t *aTlvs, uint8_t aTlvsLeng
{
if (cur->GetType() == NetworkDataTlv::kTypePrefix)
{
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
context = FindContext(*prefix);
borderRouter = FindBorderRouter(*prefix);
hasRoute = FindHasRoute(*prefix);
@@ -776,7 +771,7 @@ ThreadError Leader::AddNetworkData(uint8_t *aTlvs, uint8_t aTlvsLength)
switch (cur->GetType())
{
case NetworkDataTlv::kTypePrefix:
AddPrefix(*reinterpret_cast<PrefixTlv *>(cur));
AddPrefix(*static_cast<PrefixTlv *>(cur));
otDumpDebgNetData("add prefix done", mTlvs, mLength);
break;
@@ -795,19 +790,19 @@ ThreadError Leader::AddNetworkData(uint8_t *aTlvs, uint8_t aTlvsLength)
ThreadError Leader::AddPrefix(PrefixTlv &aPrefix)
{
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end = aPrefix.GetNext();
while (cur < end)
{
switch (cur->GetType())
{
case NetworkDataTlv::kTypeHasRoute:
AddHasRoute(aPrefix, *reinterpret_cast<HasRouteTlv *>(cur));
AddHasRoute(aPrefix, *static_cast<HasRouteTlv *>(cur));
break;
case NetworkDataTlv::kTypeBorderRouter:
AddBorderRouter(aPrefix, *reinterpret_cast<BorderRouterTlv *>(cur));
AddBorderRouter(aPrefix, *static_cast<BorderRouterTlv *>(cur));
break;
default:
@@ -841,7 +836,7 @@ ThreadError Leader::AddHasRoute(PrefixTlv &aPrefix, HasRouteTlv &aHasRoute)
if ((dstHasRoute = FindHasRoute(*dstPrefix, aHasRoute.IsStable())) == NULL)
{
dstHasRoute = reinterpret_cast<HasRouteTlv *>(dstPrefix->GetNext());
dstHasRoute = static_cast<HasRouteTlv *>(dstPrefix->GetNext());
Insert(reinterpret_cast<uint8_t *>(dstHasRoute), sizeof(HasRouteTlv));
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(HasRouteTlv));
dstHasRoute->Init();
@@ -882,7 +877,7 @@ ThreadError Leader::AddBorderRouter(PrefixTlv &aPrefix, BorderRouterTlv &aBorder
}
else if ((contextId = AllocateContext()) >= 0)
{
dstContext = reinterpret_cast<ContextTlv *>(dstPrefix->GetNext());
dstContext = static_cast<ContextTlv *>(dstPrefix->GetNext());
Insert(reinterpret_cast<uint8_t *>(dstContext), sizeof(ContextTlv));
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(ContextTlv));
dstContext->Init();
@@ -897,7 +892,7 @@ ThreadError Leader::AddBorderRouter(PrefixTlv &aPrefix, BorderRouterTlv &aBorder
if ((dstBorderRouter = FindBorderRouter(*dstPrefix, aBorderRouter.IsStable())) == NULL)
{
dstBorderRouter = reinterpret_cast<BorderRouterTlv *>(dstPrefix->GetNext());
dstBorderRouter = static_cast<BorderRouterTlv *>(dstPrefix->GetNext());
Insert(reinterpret_cast<uint8_t *>(dstBorderRouter), sizeof(BorderRouterTlv));
dstPrefix->SetLength(dstPrefix->GetLength() + sizeof(BorderRouterTlv));
dstBorderRouter->Init();
@@ -985,7 +980,7 @@ ThreadError Leader::RemoveRloc(uint16_t aRloc16)
{
case NetworkDataTlv::kTypePrefix:
{
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
RemoveRloc(*prefix, aRloc16);
if (prefix->GetSubTlvsLength() == 0)
@@ -1015,13 +1010,13 @@ ThreadError Leader::RemoveRloc(uint16_t aRloc16)
ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
{
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(prefix.GetSubTlvs());
NetworkDataTlv *cur = prefix.GetSubTlvs();
NetworkDataTlv *end;
ContextTlv *context;
while (1)
{
end = reinterpret_cast<NetworkDataTlv *>(prefix.GetSubTlvs() + prefix.GetSubTlvsLength());
end = prefix.GetNext();
if (cur >= end)
{
@@ -1031,7 +1026,7 @@ ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
switch (cur->GetType())
{
case NetworkDataTlv::kTypeHasRoute:
RemoveRloc(prefix, *reinterpret_cast<HasRouteTlv *>(cur), aRloc16);
RemoveRloc(prefix, *static_cast<HasRouteTlv *>(cur), aRloc16);
// remove has route tlv if empty
if (cur->GetLength() == 0)
@@ -1044,7 +1039,7 @@ ThreadError Leader::RemoveRloc(PrefixTlv &prefix, uint16_t aRloc16)
break;
case NetworkDataTlv::kTypeBorderRouter:
RemoveRloc(prefix, *reinterpret_cast<BorderRouterTlv *>(cur), aRloc16);
RemoveRloc(prefix, *static_cast<BorderRouterTlv *>(cur), aRloc16);
// remove border router tlv if empty
if (cur->GetLength() == 0)
@@ -1156,7 +1151,7 @@ ThreadError Leader::RemoveContext(uint8_t aContextId)
{
case NetworkDataTlv::kTypePrefix:
{
prefix = reinterpret_cast<PrefixTlv *>(cur);
prefix = static_cast<PrefixTlv *>(cur);
RemoveContext(*prefix, aContextId);
if (prefix->GetSubTlvsLength() == 0)
@@ -1186,14 +1181,14 @@ ThreadError Leader::RemoveContext(uint8_t aContextId)
ThreadError Leader::RemoveContext(PrefixTlv &aPrefix, uint8_t aContextId)
{
NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
NetworkDataTlv *cur = aPrefix.GetSubTlvs();
NetworkDataTlv *end;
ContextTlv *context;
uint8_t length;
while (1)
{
end = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
end = aPrefix.GetNext();
if (cur >= end)
{
@@ -1210,7 +1205,7 @@ ThreadError Leader::RemoveContext(PrefixTlv &aPrefix, uint8_t aContextId)
case NetworkDataTlv::kTypeContext:
{
// remove context tlv
context = reinterpret_cast<ContextTlv *>(cur);
context = static_cast<ContextTlv *>(cur);
if (context->GetContextId() == aContextId)
{
+6 -8
View File
@@ -62,7 +62,7 @@ ThreadError Local::AddOnMeshPrefix(const uint8_t *aPrefix, uint8_t aPrefixLength
prefixTlv->Init(0, aPrefixLength, aPrefix);
prefixTlv->SetSubTlvsLength(sizeof(BorderRouterTlv) + sizeof(BorderRouterEntry));
brTlv = reinterpret_cast<BorderRouterTlv *>(prefixTlv->GetSubTlvs());
brTlv = static_cast<BorderRouterTlv *>(prefixTlv->GetSubTlvs());
brTlv->Init();
brTlv->SetLength(brTlv->GetLength() + sizeof(BorderRouterEntry));
brTlv->GetEntry(0)->Init();
@@ -109,7 +109,7 @@ ThreadError Local::AddHasRoutePrefix(const uint8_t *aPrefix, uint8_t aPrefixLeng
prefixTlv->Init(0, aPrefixLength, aPrefix);
prefixTlv->SetSubTlvsLength(sizeof(HasRouteTlv) + sizeof(HasRouteEntry));
hasRouteTlv = reinterpret_cast<HasRouteTlv *>(prefixTlv->GetSubTlvs());
hasRouteTlv = static_cast<HasRouteTlv *>(prefixTlv->GetSubTlvs());
hasRouteTlv->Init();
hasRouteTlv->SetLength(hasRouteTlv->GetLength() + sizeof(HasRouteEntry));
hasRouteTlv->GetEntry(0)->Init();
@@ -151,7 +151,7 @@ ThreadError Local::UpdateRloc(void)
switch (cur->GetType())
{
case NetworkDataTlv::kTypePrefix:
UpdateRloc(*reinterpret_cast<PrefixTlv *>(cur));
UpdateRloc(*static_cast<PrefixTlv *>(cur));
break;
default:
@@ -167,18 +167,16 @@ ThreadError Local::UpdateRloc(void)
ThreadError Local::UpdateRloc(PrefixTlv &aPrefix)
{
for (NetworkDataTlv *cur = reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs());
cur < reinterpret_cast<NetworkDataTlv *>(aPrefix.GetSubTlvs() + aPrefix.GetSubTlvsLength());
cur = cur->GetNext())
for (NetworkDataTlv *cur = aPrefix.GetSubTlvs(); cur < aPrefix.GetNext(); cur = cur->GetNext())
{
switch (cur->GetType())
{
case NetworkDataTlv::kTypeHasRoute:
UpdateRloc(*reinterpret_cast<HasRouteTlv *>(cur));
UpdateRloc(*static_cast<HasRouteTlv *>(cur));
break;
case NetworkDataTlv::kTypeBorderRouter:
UpdateRloc(*reinterpret_cast<BorderRouterTlv *>(cur));
UpdateRloc(*static_cast<BorderRouterTlv *>(cur));
break;
default:
+4 -1
View File
@@ -313,7 +313,10 @@ public:
* @returns A pointer to the Sub-TLVs.
*
*/
uint8_t *GetSubTlvs() { return GetPrefix() + BitVectorBytes(mPrefixLength); }
NetworkDataTlv *GetSubTlvs() {
return reinterpret_cast<NetworkDataTlv *>(GetPrefix() +
BitVectorBytes(mPrefixLength));
}
/**
* This method returns the Sub-TLVs length in bytes.