Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoreutarass2008-06-16 22:47:55 +0000
committereutarass2008-06-16 22:47:55 +0000
commit870c5a56a7a83e7d1733a9b853d1d7d416c604ee (patch)
tree6e668cc9c0fd929d4e3cef7b2eff9733a5e5ece1 /plugins
parent81d6d2bfffbc7b2ab33cf9d6dc3938dfdd99f597 (diff)
downloadorg.eclipse.tcf-870c5a56a7a83e7d1733a9b853d1d7d416c604ee.tar.gz
org.eclipse.tcf-870c5a56a7a83e7d1733a9b853d1d7d416c604ee.tar.xz
org.eclipse.tcf-870c5a56a7a83e7d1733a9b853d1d7d416c604ee.zip
[tcf] Bug 237378: TCF Reference implementation does not follow spec for Flow Control command F
Diffstat (limited to 'plugins')
-rw-r--r--plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeRegister.java2
-rw-r--r--plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFRegisters.java3
-rw-r--r--plugins/org.eclipse.tm.tcf/src/org/eclipse/tm/tcf/core/AbstractChannel.java5
3 files changed, 7 insertions, 3 deletions
diff --git a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeRegister.java b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeRegister.java
index 37a0d56af..e9b8cbc66 100644
--- a/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeRegister.java
+++ b/plugins/org.eclipse.tm.tcf.debug.ui/src/org/eclipse/tm/internal/tcf/debug/ui/model/TCFNodeRegister.java
@@ -140,7 +140,7 @@ public class TCFNodeRegister extends TCFNode {
byte[] temp = new byte[data.length + 1];
temp[0] = 0; // Extra byte to avoid sign extension by BigInteger
if (ctx.isBigEndian()) {
- System.arraycopy(value, 0, temp, 1, data.length);
+ System.arraycopy(data, 0, temp, 1, data.length);
}
else {
for (int i = 0; i < data.length; i++) {
diff --git a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFRegisters.java b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFRegisters.java
index 76542cfc7..7987075cc 100644
--- a/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFRegisters.java
+++ b/plugins/org.eclipse.tm.tcf.dsf/src/org/eclipse/tm/internal/tcf/dsf/services/TCFDSFRegisters.java
@@ -697,7 +697,8 @@ public class TCFDSFRegisters extends AbstractDsfService implements org.eclipse.d
RegisterChildrenCache cache = null;
if (dmc instanceof CompositeDMContext) {
for (IDMContext ctx : dmc.getParents()) {
- if (ctx instanceof TCFDSFExecutionDMC || ctx instanceof TCFDSFStack.TCFFrameDMC) {
+ if (ctx instanceof TCFDSFExecutionDMC || ctx instanceof TCFDSFStack.TCFFrameDMC ||
+ ctx instanceof RegisterGroupDMC || ctx instanceof RegisterDMC) {
dmc = ctx;
break;
}
diff --git a/plugins/org.eclipse.tm.tcf/src/org/eclipse/tm/tcf/core/AbstractChannel.java b/plugins/org.eclipse.tm.tcf/src/org/eclipse/tm/tcf/core/AbstractChannel.java
index fdc82faf4..4eeadb16d 100644
--- a/plugins/org.eclipse.tm.tcf/src/org/eclipse/tm/tcf/core/AbstractChannel.java
+++ b/plugins/org.eclipse.tm.tcf/src/org/eclipse/tm/tcf/core/AbstractChannel.java
@@ -763,7 +763,10 @@ public abstract class AbstractChannel implements IChannel {
out_queue.add(0, msg);
out_queue.notify();
}
- msg.data = Integer.toString(local_congestion_level).getBytes("ASCII");
+ StringBuilder buffer = new StringBuilder();
+ buffer.append(local_congestion_level);
+ buffer.append((char)0); // 0 terminate
+ msg.data = buffer.toString().getBytes("ASCII");
msg.trace = trace_listeners;
local_congestion_level = level;
}

Back to the top