changeset 42dd80dee4dd in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=42dd80dee4dd
description:
        SETranslatingPortProxy: fix bug in tryReadString()

        Off-by-one loop termination meant that we were stuffing
        the terminating '\0' into the std::string value, which
        makes for difficult-to-debug string comparison failures.

diffstat:

 src/mem/se_translating_port_proxy.cc |  7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diffs (24 lines):

diff -r c773314f7098 -r 42dd80dee4dd src/mem/se_translating_port_proxy.cc
--- a/src/mem/se_translating_port_proxy.cc      Mon Aug 06 16:55:34 2012 -0700
+++ b/src/mem/se_translating_port_proxy.cc      Mon Aug 06 16:57:11 2012 -0700
@@ -190,15 +190,18 @@
 
     Addr vaddr = addr;
 
-    do {
+    while (true) {
         Addr paddr;
 
         if (!pTable->translate(vaddr++, paddr))
             return false;
 
         PortProxy::readBlob(paddr, &c, 1);
+        if (c == '\0')
+            break;
+
         str += c;
-    } while (c);
+    }
 
     return true;
 }
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to