Author: mbenson Date: Thu Nov 30 11:11:04 2006 New Revision: 481041 URL: http://svn.apache.org/viewvc?view=rev&rev=481041 Log: fix NPE in recursive filtering. BZ 41086.
Added: ant/core/trunk/src/tests/antunit/types/filterset-test.xml (with props) Modified: ant/core/trunk/WHATSNEW ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java Modified: ant/core/trunk/WHATSNEW URL: http://svn.apache.org/viewvc/ant/core/trunk/WHATSNEW?view=diff&rev=481041&r1=481040&r2=481041 ============================================================================== --- ant/core/trunk/WHATSNEW (original) +++ ant/core/trunk/WHATSNEW Thu Nov 30 11:11:04 2006 @@ -28,6 +28,9 @@ * dependset failed if the basedir of a target fileset did not exist. Bugzilla 40916. +* Recursive filtering encountered NullPointerExceptions under certain + circumstances. Bugzilla 41086. + Other changes: -------------- Modified: ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java URL: http://svn.apache.org/viewvc/ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java?view=diff&rev=481041&r1=481040&r2=481041 ============================================================================== --- ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java (original) +++ ant/core/trunk/src/main/org/apache/tools/ant/types/FilterSet.java Thu Nov 30 11:11:04 2006 @@ -581,8 +581,8 @@ } passedTokens.addElement(parent); String value = iReplaceTokens(line); - if (value.indexOf(beginToken) == -1 && !duplicateToken) { - duplicateToken = false; + if (value.indexOf(beginToken) == -1 && !duplicateToken + && recurseDepth == 1) { passedTokens = null; } else if (duplicateToken) { // should always be the case... Added: ant/core/trunk/src/tests/antunit/types/filterset-test.xml URL: http://svn.apache.org/viewvc/ant/core/trunk/src/tests/antunit/types/filterset-test.xml?view=auto&rev=481041 ============================================================================== --- ant/core/trunk/src/tests/antunit/types/filterset-test.xml (added) +++ ant/core/trunk/src/tests/antunit/types/filterset-test.xml Thu Nov 30 11:11:04 2006 @@ -0,0 +1,28 @@ +<project xmlns:au="antlib:org.apache.ant.antunit"> + + <property name="br" value="${line.separator}" /> + + <target name="testRecursionRegression"> + <copy todir="${basedir}"> + <string value="@[EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]" /> + <mergemapper to="filterset-output.txt" /> + <filterset> + <filter token="a" value="aaa" /> + <filter token="b" value="bbb" /> + <filter token="c" value="@a@:@b@" /> + </filterset> + </copy> + + <au:assertTrue> + <resourcesmatch astext="true"> + <file file="filterset-output.txt" /> + <string value="aaa${br}bbb${br}aaa:bbb${br}" /> + </resourcesmatch> + </au:assertTrue> + </target> + + <target name="tearDown"> + <delete file="filterset-output.txt" /> + </target> + +</project> Propchange: ant/core/trunk/src/tests/antunit/types/filterset-test.xml ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]