Packets: catch senf::exceptions in Packet.dump()
[senf.git] / senf / Packets / DefaultBundle / IPv6Extensions.cc
index d033d44..6e8d714 100644 (file)
@@ -26,8 +26,9 @@
 
 #include "IPv6Extensions.hh"
 //#include "IPv6Extensions.ih"
-#include <senf/Utils/hexdump.hh>
+
 // Custom includes
+#include <senf/Utils/hexdump.hh>
 
 //#include "IPv6Extensions.mpp"
 #define prefix_
@@ -74,14 +75,8 @@ prefix_ void senf::IPv6HopByHopOptionsPacketType::dump(packet p, std::ostream &
     os << "  OptionTypes:\n";
     typedef IPv6HopByHopOptionsPacket::Parser::options_t::container optContainer_t;
     optContainer_t options (p->options());
-    optContainer_t::iterator optIter(options.begin());
-    for(; optIter != options.end(); ++optIter) {
-        os << senf::fieldName("  AltAction")           << unsigned(optIter->altAction()) << "\n"
-           << senf::fieldName("  ChangeFlag")          << unsigned(optIter->changeFlag()) << "\n"
-           << senf::fieldName("  Option Type")         << unsigned(optIter->optionType()) << "\n"
-           << senf::fieldName("  OptionLength")        << unsigned(optIter->optionLength()) <<"\n";
-        senf::hexdump(boost::begin(optIter->value()) , boost::end(optIter->value()), os );
-    }
+    for (optContainer_t::const_iterator i = options.begin(); i != options.end(); ++i)
+        i->dump( os);
 }
 
 prefix_ void senf::IPv6DestinationOptionsPacketType::dump(packet p, std::ostream & os)