From 7456589c4faebc05e509ea81aed7ea9bf2654075 Mon Sep 17 00:00:00 2001 From: Marc Khouzam Date: Tue, 26 Feb 2008 20:34:20 +0000 Subject: [PATCH] Fix for bug 220449 ExpressionService parses strings when requesting an address and only keeps the address part. --- .../src/org/eclipse/dd/mi/service/ExpressionService.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/ExpressionService.java b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/ExpressionService.java index 75223e4474a..d7e751cebef 100644 --- a/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/ExpressionService.java +++ b/plugins/org.eclipse.dd.mi/src/org/eclipse/dd/mi/service/ExpressionService.java @@ -631,7 +631,14 @@ public class ExpressionService extends AbstractDsfService implements IExpression new DataRequestMonitor(getExecutor(), rm) { @Override protected void handleOK() { - final String addrStr = getData().getValue(); + String tmpAddrStr = getData().getValue(); + + // Deal with adresses of contents of a char* which is in + // the form of "0x12345678 \"This is a string\"" + int split = tmpAddrStr.indexOf(' '); + if (split != -1) tmpAddrStr = tmpAddrStr.substring(0, split); + final String addrStr = tmpAddrStr; + fExpressionCache.execute( new MIDataEvaluateExpression(sizeDmc), new DataRequestMonitor(getExecutor(), rm) {