Author: axeld Date: 2009-11-05 20:40:52 +0100 (Thu, 05 Nov 2009) New Revision: 33909 Changeset: http://dev.haiku-os.org/changeset/33909/haiku Modified: haiku/trunk/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp Log: * Cleanup, looks better this way. Modified: haiku/trunk/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp =================================================================== --- haiku/trunk/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp 2009-11-05 19:29:24 UTC (rev 33908) +++ haiku/trunk/src/add-ons/kernel/network/protocols/ipv4/ipv4.cpp 2009-11-05 19:40:52 UTC (rev 33909) @@ -330,6 +330,7 @@ return B_OK; } else if (next != NULL && next->fragment.start == end) { + net_buffer* afterNext = (net_buffer*)next->link.next; fFragments.Remove(next); buffer->fragment.start = start; @@ -339,18 +340,11 @@ TRACE(" merge next: %s", strerror(status)); if (status != B_OK) { // Insert "next" at its previous position - if (previous != NULL) - fFragments.Insert((net_buffer*)previous->link.next, next); - else - fFragments.Insert(next); - + fFragments.Insert(afterNext, next); return status; } - if (previous != NULL) - fFragments.Insert((net_buffer*)previous->link.next, buffer); - else - fFragments.Insert(buffer); + fFragments.Insert(afterNext, buffer); // cut down existing hole fBytesLeft -= end - start;