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