bodewig 2003/02/18 06:12:41
Modified: src/main/org/apache/tools/ant/filters Tag: ANT_15_BRANCH
LineContains.java LineContainsRegExp.java
StripLineComments.java
Log:
Merge fix for 15528 from HEAD
Revision Changes Path
No revision
No revision
1.4.2.7 +3 -3
ant/src/main/org/apache/tools/ant/filters/LineContains.java
Index: LineContains.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/filters/LineContains.java,v
retrieving revision 1.4.2.6
retrieving revision 1.4.2.7
diff -u -r1.4.2.6 -r1.4.2.7
--- LineContains.java 17 Feb 2003 15:49:18 -0000 1.4.2.6
+++ LineContains.java 18 Feb 2003 14:12:41 -0000 1.4.2.7
@@ -72,9 +72,9 @@
*
* Or:
*
- * <pre><filterreader
classname="org.apache.tools.ant.filters.LineContains">
- * <param type="contains" value="foo"/>
- * <param type="contains" value="bar"/>
+ * <pre><filterreader
classname="org.apache.tools.ant.filters.LineContains">
+ * <param type="contains" value="foo"/>
+ * <param type="contains" value="bar"/>
* </filterreader></pre>
*
* This will include only those lines that contain <code>foo</code> and
1.4.2.3 +17 -9
ant/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java
Index: LineContainsRegExp.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/filters/LineContainsRegExp.java,v
retrieving revision 1.4.2.2
retrieving revision 1.4.2.3
diff -u -r1.4.2.2 -r1.4.2.3
--- LineContainsRegExp.java 10 Feb 2003 14:24:40 -0000 1.4.2.2
+++ LineContainsRegExp.java 18 Feb 2003 14:12:41 -0000 1.4.2.3
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -89,7 +89,7 @@
/** Vector that holds the expressions that input lines must contain. */
private Vector regexps = new Vector();
- /**
+ /**
* Remaining line to be read from this filter, or <code>null</code> if
* the next call to <code>read()</code> should read the original stream
* to find the next matching line.
@@ -98,7 +98,7 @@
/**
* Constructor for "dummy" instances.
- *
+ *
* @see BaseFilterReader#BaseFilterReader()
*/
public LineContainsRegExp() {
@@ -122,9 +122,9 @@
*
* @return the next character in the resulting stream, or -1
* if the end of the resulting stream has been reached
- *
+ *
* @exception IOException if the underlying stream throws an IOException
- * during reading
+ * during reading
*/
public final int read() throws IOException {
if (!getInitialized()) {
@@ -143,10 +143,9 @@
}
} else {
line = readLine();
- if (line == null) {
- ch = -1;
- } else {
- final int regexpsSize = regexps.size();
+ final int regexpsSize = regexps.size();
+
+ while (line != null) {
for (int i = 0; i < regexpsSize; i++) {
RegularExpression regexp = (RegularExpression)
regexps.elementAt(i);
@@ -158,6 +157,15 @@
}
}
+ if (line == null) {
+ // line didn't match
+ line = readLine();
+ } else {
+ break;
+ }
+ }
+
+ if (line != null) {
return read();
}
}
1.4.2.3 +14 -5
ant/src/main/org/apache/tools/ant/filters/StripLineComments.java
Index: StripLineComments.java
===================================================================
RCS file:
/home/cvs/ant/src/main/org/apache/tools/ant/filters/StripLineComments.java,v
retrieving revision 1.4.2.2
retrieving revision 1.4.2.3
diff -u -r1.4.2.2 -r1.4.2.3
--- StripLineComments.java 10 Feb 2003 14:24:40 -0000 1.4.2.2
+++ StripLineComments.java 18 Feb 2003 14:12:41 -0000 1.4.2.3
@@ -1,7 +1,7 @@
/*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2002 The Apache Software Foundation. All rights
+ * Copyright (c) 2002-2003 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -143,10 +143,9 @@
}
} else {
line = readLine();
- if (line == null) {
- ch = -1;
- } else {
- int commentsSize = comments.size();
+ final int commentsSize = comments.size();
+
+ while (line != null) {
for (int i = 0; i < commentsSize; i++) {
String comment = (String) comments.elementAt(i);
if (line.startsWith(comment)) {
@@ -154,6 +153,16 @@
break;
}
}
+
+ if (line == null) {
+ // line started with comment
+ line = readLine();
+ } else {
+ break;
+ }
+ }
+
+ if (line != null) {
return read();
}
}