--- a/src/devices/mesh/dot11s/hwmp-protocol.cc Mon Aug 03 19:22:42 2009 +0400
+++ b/src/devices/mesh/dot11s/hwmp-protocol.cc Tue Aug 04 14:57:35 2009 +0400
@@ -389,7 +389,7 @@
}
else
{
- if (i->second > preq.GetOriginatorSeqNumber ())
+ if ((int32_t)(i->second - preq.GetOriginatorSeqNumber ()) > 0)
{
return;
}
@@ -507,7 +507,7 @@
//we have got from PREQ, and set the rest lifetime of the
//route if the information is correct
uint32_t lifetime = result.lifetime.GetMicroSeconds () / 1024;
- if ((lifetime > 0) && (result.seqnum >= (*i)->GetDestSeqNumber ()))
+ if ((lifetime > 0) && ((int32_t)(result.seqnum - (*i)->GetDestSeqNumber ()) >= 0))
{
SendPrep (
(*i)->GetDestinationAddress (),
@@ -555,7 +555,7 @@
}
else
{
- if (i->second > prep.GetOriginatorSeqNumber ())
+ if ((int32_t)(i->second - prep.GetOriginatorSeqNumber ()) > 0)
{
return;
}
@@ -634,7 +634,7 @@
if (!(
(result.retransmitter != from) ||
(result.ifIndex != interface) ||
- (result.seqnum > destinations[i].seqnum)
+ ((int32_t)(result.seqnum - destinations[i].seqnum) > 0)
))
{
retval.push_back (destinations[i]);
@@ -732,7 +732,7 @@
}
else
{
- if (i->second >= seqno)
+ if ((int32_t)(i->second - seqno) >= 0)
{
return true;
}
--- a/src/devices/mesh/flame/flame-protocol.cc Mon Aug 03 19:22:42 2009 +0400
+++ b/src/devices/mesh/flame/flame-protocol.cc Tue Aug 04 14:57:35 2009 +0400
@@ -328,7 +328,7 @@
return true;
}
FlameRtable::LookupResult result = m_rtable->Lookup (source);
- if ((result.retransmitter != Mac48Address::GetBroadcast ()) && (result.seqnum >= seqno))
+ if ((result.retransmitter != Mac48Address::GetBroadcast ()) && ((int16_t)(result.seqnum - seqno) >= 0))
{
return true;
}