Packets: another not smart but efficient 'shortcut' for ConcretePacket::next() (like...
[senf.git] / senf / Packets / Packet.cc
index 2738b6e..fc828c5 100644 (file)
 #define prefix_
 //-/////////////////////////////////////////////////////////////////////////////////////////////////
 
-prefix_ senf::Packet senf::Packet::getNext(PacketInterpreterBase::optional_range const & range)
+prefix_ senf::PacketInterpreterBase::ptr senf::Packet::getNext(PacketInterpreterBase::optional_range const & range)
     const
 {
     factory_t factory (ptr()->nextPacketType());
-    if (factory)
-        return parseNextAs(factory, range);
-    else
-        return parseNextAs<DataPacket>();
+    return parseNextAs(factory ? factory : DataPacket::factory(), range);
 }
 
 prefix_ senf::Packet senf::Packet::getLast()