make chunkUid zero and invalid uid to improve debugging
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Fri, 01 Jun 2007 09:55:47 +0200
changeset 808 8d33fb30e344
parent 807 1c3cc23a0cb8
child 809 1bfeec93c1e1
make chunkUid zero and invalid uid to improve debugging
src/common/packet-printer.cc
src/common/packet-printer.h
--- 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));