simplify GetTotalSize

Mathieu Lacage 2007-06-06 09:45:23 +02:00
parent cbac246ffb
commit 113e6255ea
1 changed files with 3 additions and 17 deletions

View File

@ -1147,24 +1147,10 @@ PacketHistory::GetTotalSize (void) const
uint16_t tail = m_tail; uint16_t tail = m_tail;
while (current != 0xffff) while (current != 0xffff)
{ {
const uint8_t *buffer = &m_data->m_data[current];
struct PacketHistory::SmallItem item; struct PacketHistory::SmallItem item;
ReadSmall (&item, &buffer);
bool isExtra = (item.typeUid & 0x1) == 0x1;
uint32_t fragmentStart, fragmentEnd;
if (isExtra)
{
PacketHistory::ExtraItem extraItem; PacketHistory::ExtraItem extraItem;
ReadExtra (&extraItem, &buffer); ReadItems (current, &item, &extraItem);
fragmentStart = extraItem.fragmentStart; totalSize += extraItem.fragmentEnd - extraItem.fragmentStart;
fragmentEnd = extraItem.fragmentEnd;
}
else
{
fragmentStart = 0;
fragmentEnd = item.size;
}
totalSize += fragmentEnd - fragmentStart;
if (current == tail) if (current == tail)
{ {
break; break;