Fix fixPacket functionality to calculate sizes properly
authorRon Dreslinski <rdreslin@umich.edu>
Wed, 25 Oct 2006 18:14:37 +0000 (14:14 -0400)
committerRon Dreslinski <rdreslin@umich.edu>
Wed, 25 Oct 2006 18:14:37 +0000 (14:14 -0400)
src/mem/packet.cc:
    Copy size is calculated by END-BEGIN not BEGIN-END

--HG--
extra : convert_revision : 0e2725c5551f8f70ff05cb285e0822afc0bb3f87

src/mem/packet.cc

index fa8d82c46958755c2ea3a118b1c20466b3e0dc43..a342af634b40d015404a0c117f1959ef2a199f67 100644 (file)
@@ -182,11 +182,11 @@ fixPacket(PacketPtr func, PacketPtr timing)
         if (funcStart >= timingStart) {
             memcpy(timing->getPtr<uint8_t>() + (funcStart - timingStart),
                    func->getPtr<uint8_t>(),
-                   funcStart - std::min(funcEnd, timingEnd));
+                   std::min(funcEnd, timingEnd) - funcStart);
         } else { // timingStart > funcStart
             memcpy(timing->getPtr<uint8_t>(),
                    func->getPtr<uint8_t>() + (timingStart - funcStart),
-                   timingStart - std::min(funcEnd, timingEnd));
+                   std::min(funcEnd, timingEnd) - timingStart);
         }
         // we always want to keep going with a write
         return true;