From b7d18ff2d06320e16ac49b4ea1c4810b5bc7479c Mon Sep 17 00:00:00 2001 From: Markus Schorn Date: Tue, 29 Sep 2009 15:45:16 +0000 Subject: [PATCH] __FILE__ macro is not escaped, bug 288800. --- .../cdt/internal/core/parser/scanner/PreprocessorMacro.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/PreprocessorMacro.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/PreprocessorMacro.java index 8d0384b7489..e7ff7f3d52f 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/PreprocessorMacro.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/parser/scanner/PreprocessorMacro.java @@ -10,9 +10,10 @@ *******************************************************************************/ package org.eclipse.cdt.internal.core.parser.scanner; -import com.ibm.icu.text.DateFormatSymbols; import java.util.Calendar; +import com.ibm.icu.text.DateFormatSymbols; + import org.eclipse.cdt.core.dom.ILinkage; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IMacroBinding; @@ -360,7 +361,7 @@ final class FileMacro extends DynamicMacro { @Override public Token execute(MacroExpander expander) { StringBuffer buffer = new StringBuffer("\""); //$NON-NLS-1$ - buffer.append(expander.getCurrentFilename()); + buffer.append(expander.getCurrentFilename().replace("\\", "\\\\")); //$NON-NLS-1$//$NON-NLS-2$ buffer.append('\"'); return new TokenWithImage(IToken.tSTRING, null, 0, 0, buffer.toString().toCharArray()); }