bug 217: yet another testcase: make sure we handle degenerate testcases with tags which refer to non-existant data.
--- a/src/common/packet.cc Sat Jun 21 08:55:04 2008 -0700
+++ b/src/common/packet.cc Sat Jun 21 10:30:47 2008 -0700
@@ -904,6 +904,18 @@
tmp->AddTag (ATestTag<20> ());
CHECK (tmp, 0, E (20, 0, 0));
}
+ {
+ Ptr<Packet> tmp = Create<Packet> (1000);
+ tmp->AddTag (ATestTag<20> ());
+ CHECK (tmp, 1, E (20, 0, 1000));
+ tmp->RemoveAtStart (1000);
+ CHECK (tmp, 0, E (0,0,0));
+ Ptr<Packet> a = Create<Packet> (10);
+ a->AddTag (ATestTag<10> ());
+ CHECK (a, 1, E (10, 0, 10));
+ tmp->AddAtEnd (a);
+ CHECK (tmp, 1, E (10, 0, 10));
+ }
return result;
--- a/src/common/tag-list.cc Sat Jun 21 08:55:04 2008 -0700
+++ b/src/common/tag-list.cc Sat Jun 21 10:30:47 2008 -0700
@@ -281,7 +281,7 @@
item.start += adjustment;
item.end += adjustment;
- if (item.start > appendOffset)
+ if (item.start >= appendOffset)
{
continue;
}
@@ -315,7 +315,7 @@
item.start += adjustment;
item.end += adjustment;
- if (item.end < prependOffset)
+ if (item.end <= prependOffset)
{
continue;
}