ASF Bugzilla – Attachment 31167 Details for
Bug 54216
replaceregexp with backlash throws StringIndexOutOfBoundsException
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
stop stripping backslash in regex substitution
54216.patch (text/plain), 3.83 KB, created by
Stefan Bodewig
on 2014-01-02 12:21:41 UTC
(
hide
)
Description:
stop stripping backslash in regex substitution
Filename:
MIME Type:
Creator:
Stefan Bodewig
Created:
2014-01-02 12:21:41 UTC
Size:
3.83 KB
patch
obsolete
>Index: src/tests/antunit/taskdefs/optional/replaceregexp-test.xml >=================================================================== >--- src/tests/antunit/taskdefs/optional/replaceregexp-test.xml (Revision 1554677) >+++ src/tests/antunit/taskdefs/optional/replaceregexp-test.xml (Arbeitskopie) >@@ -18,15 +18,36 @@ > <project default="antunit" xmlns:au="antlib:org.apache.ant.antunit"> > <import file="../../antunit-base.xml" /> > >- <target name="testRCSupport"> >+ <target name="setUp"> > <mkdir dir="${output}"/> > <echo file="${output}/text.txt"><![CDATA[ > Hello, world! > ]]></echo> >+ </target> >+ >+ <target name="testRCSupport" depends="setUp"> > <replaceregexp match="world" replace="Ant"> > <file file="${output}/text.txt"/> > </replaceregexp> > <au:assertResourceContains > resource="${output}/text.txt" value="Hello, Ant!"/> > </target> >+ >+ <target name="testQuotedBackSlashReplacement" depends="setUp" >+ description="https://issues.apache.org/bugzilla/show_bug.cgi?id=54216"> >+ <replaceregexp match="world" replace="\\"> >+ <file file="${output}/text.txt"/> >+ </replaceregexp> >+ <au:assertResourceContains >+ resource="${output}/text.txt" value="Hello, \!"/> >+ <au:assertLogDoesntContain text="An error occurred processing file" /> >+ </target> >+ >+ <target name="testUnquotedBackSlashReplacement" depends="setUp" >+ description="https://issues.apache.org/bugzilla/show_bug.cgi?id=54216"> >+ <replaceregexp match="world" replace="\"> >+ <file file="${output}/text.txt"/> >+ </replaceregexp> >+ <au:assertLogContains text="An error occurred processing file" /> >+ </target> > </project> >Index: src/main/org/apache/tools/ant/util/regexp/JakartaRegexpRegexp.java >=================================================================== >--- src/main/org/apache/tools/ant/util/regexp/JakartaRegexpRegexp.java (Revision 1554677) >+++ src/main/org/apache/tools/ant/util/regexp/JakartaRegexpRegexp.java (Arbeitskopie) >@@ -75,7 +75,7 @@ > } > } else { > // TODO - should throw an exception instead? >- result.append('\\'); >+ result.append(c); > } > } else { > result.append(c); >Index: src/main/org/apache/tools/ant/util/regexp/Jdk14RegexpRegexp.java >=================================================================== >--- src/main/org/apache/tools/ant/util/regexp/Jdk14RegexpRegexp.java (Revision 1554677) >+++ src/main/org/apache/tools/ant/util/regexp/Jdk14RegexpRegexp.java (Arbeitskopie) >@@ -71,11 +71,11 @@ > if (value > -1) { > subst.append("$").append(value); > } else { >- subst.append(c); >+ subst.append('\\').append(c); > } > } else { > // TODO - should throw an exception instead? >- subst.append('\\'); >+ subst.append(c); > } > } else { > subst.append(c); >Index: src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java >=================================================================== >--- src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java (Revision 1554677) >+++ src/main/org/apache/tools/ant/util/regexp/JakartaOroRegexp.java (Arbeitskopie) >@@ -58,11 +58,11 @@ > if (value > -1) { > subst.append("$").append(value); > } else { >- subst.append(c); >+ subst.append('\\').append(c); > } > } else { > // TODO - should throw an exception instead? >- subst.append('\\'); >+ subst.append(c); > } > } else { > subst.append(c);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 54216
: 31167