From 8a663c816d3a07745e2715ba88e62976171531c0 Mon Sep 17 00:00:00 2001 From: Alena Laskavaia Date: Thu, 3 Sep 2009 18:28:12 +0000 Subject: [286785] - undoing early escaping in RxThread and adding to MIParser --- .../mi/org/eclipse/cdt/debug/mi/core/RxThread.java | 2 +- .../mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/RxThread.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/RxThread.java index 16cb62e4af5..9aafae122f5 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/RxThread.java +++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/RxThread.java @@ -357,7 +357,7 @@ public class RxThread extends Thread { OutputStream target = session.getMIInferior().getPipedOutputStream(); if (target != null) { MITargetStreamOutput out = (MITargetStreamOutput) stream; - String str = out.getCString(); + String str = out.getString(); if (str != null) { try { target.write(str.getBytes()); diff --git a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java index 1565077be8f..476cf30e21f 100644 --- a/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java +++ b/debug/org.eclipse.cdt.debug.mi.core/mi/org/eclipse/cdt/debug/mi/core/output/MIParser.java @@ -242,7 +242,11 @@ public class MIParser { } else { // Badly format MI line, just pass it to the user as target stream MIStreamRecord stream = new MITargetStreamOutput(); - stream.setCString(buffer.toString() + "\n"); //$NON-NLS-1$ + String res = buffer.toString(); + // this awfull expression just mean to replace \ with \\. This is needed because otherwise escaping is lost. + // this is to fix bug 255946 without breaking other stuff 286785 + res = res.replaceAll("\\Q\\", "\\\\\\\\"); //$NON-NLS-1$//$NON-NLS-2$ + stream.setCString(res + "\n"); //$NON-NLS-1$ oob = stream; } return oob; -- cgit v1.2.3