X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FPacket.cci;h=f35c1c471802339fb818b35af7a23c20cb0e78e8;hb=51b24c3227717ce5ad8111a99c2d7eea5fa0bd8d;hp=7f76eff86b7be00cbd0b4f7d41b1a76286a6f0c9;hpb=0e6076544fbcaba94b6339f0074cb2adcd56d515;p=senf.git diff --git a/senf/Packets/Packet.cci b/senf/Packets/Packet.cci index 7f76eff..f35c1c4 100644 --- a/senf/Packets/Packet.cci +++ b/senf/Packets/Packet.cci @@ -71,7 +71,7 @@ prefix_ senf::Packet senf::Packet::next(NoThrow_t) PacketInterpreterBase::ptr p (ptr()->next()); if (p) return Packet(p); PacketInterpreterBase::optional_range r (ptr()->nextPacketRange()); - return (r && ! r->empty()) ? getNext() : Packet(); + return (r && ! r->empty()) ? getNext(r) : Packet(); } prefix_ senf::Packet senf::Packet::next() @@ -112,7 +112,13 @@ prefix_ senf::Packet senf::Packet::last() prefix_ senf::Packet senf::Packet::parseNextAs(factory_t factory) const { - return Packet(ptr()->parseNextAs(factory)); + return Packet(ptr()->parseNextAs(factory, ptr()->nextPacketRange())); +} + +prefix_ senf::Packet senf::Packet::parseNextAs(factory_t factory, PacketInterpreterBase::optional_range const & range) + const +{ + return Packet(ptr()->parseNextAs(factory, range)); } prefix_ senf::Packet senf::Packet::append(Packet const & packet)