--- a/src/common/packet-printer.cc Thu May 31 14:52:15 2007 +0200
+++ b/src/common/packet-printer.cc Fri Jun 01 09:55:47 2007 +0200
@@ -82,16 +82,17 @@
uint32_t size) const
{
RegisteredChunks *registeredChunks = PacketPrinter::GetRegisteredChunks ();
+ NS_ASSERT (chunkUid > 1);
for (PrinterList::const_iterator i = m_printerList.begin (); i != m_printerList.end (); i++)
{
if (i->m_chunkUid == chunkUid)
{
- DoPrintCallback cb = (*registeredChunks)[chunkUid].first;
+ DoPrintCallback cb = (*registeredChunks)[chunkUid-1].first;
cb (i->m_printer, start, os, packetUid, size);
return;
}
}
- DoGetNameCallback cb = (*registeredChunks)[chunkUid].second;
+ DoGetNameCallback cb = (*registeredChunks)[chunkUid-1].second;
std::string name = cb ();
struct PacketPrinter::FragmentInformation info;
info.start = 0;
@@ -107,7 +108,8 @@
uint32_t fragmentEnd) const
{
RegisteredChunks *registeredChunks = PacketPrinter::GetRegisteredChunks ();
- DoGetNameCallback cb = (*registeredChunks)[chunkUid].second;
+ NS_ASSERT (chunkUid > 1);
+ DoGetNameCallback cb = (*registeredChunks)[chunkUid-1].second;
std::string name = cb ();
struct PacketPrinter::FragmentInformation info;
info.start = fragmentStart;
--- a/src/common/packet-printer.h Thu May 31 14:52:15 2007 +0200
+++ b/src/common/packet-printer.h Fri Jun 01 09:55:47 2007 +0200
@@ -229,7 +229,7 @@
RegisteredChunks *chunks = PacketPrinter::GetRegisteredChunks ();
chunks->push_back (std::make_pair(&PacketPrinter::DoPrint<T>,
&PacketPrinter::DoGetName<T>));
- uint32_t uid = chunks->size () - 1;
+ uint32_t uid = chunks->size ();
PacketPrinter::PeekDefault ()->DoAddPrinter (uid,
MakeCallback (&PacketPrinter::DoDefaultPrint<T>).GetImpl (),
MakeCallback (&PacketPrinter::DoDefaultPrintFragment));