|
|
@@ -7,12 +7,12 @@ |
|
|
|
*/ |
|
|
|
package org.apache.tools.ant.taskdefs.cvslib; |
|
|
|
|
|
|
|
import org.apache.tools.ant.taskdefs.ExecuteStreamHandler; |
|
|
|
import java.io.OutputStream; |
|
|
|
import java.io.BufferedReader; |
|
|
|
import java.io.IOException; |
|
|
|
import java.io.InputStream; |
|
|
|
import java.io.InputStreamReader; |
|
|
|
import java.io.BufferedReader; |
|
|
|
import java.io.OutputStream; |
|
|
|
import org.apache.tools.ant.taskdefs.ExecuteStreamHandler; |
|
|
|
|
|
|
|
/** |
|
|
|
* A dummy stream handler that just passes stuff to the parser. |
|
|
@@ -25,6 +25,7 @@ class RedirectingStreamHandler |
|
|
|
{ |
|
|
|
private final ChangeLogParser m_parser; |
|
|
|
private BufferedReader m_reader; |
|
|
|
private InputStreamReader m_error; |
|
|
|
|
|
|
|
public RedirectingStreamHandler( final ChangeLogParser parser ) |
|
|
|
{ |
|
|
@@ -49,7 +50,7 @@ class RedirectingStreamHandler |
|
|
|
*/ |
|
|
|
public void setProcessErrorStream( InputStream is ) throws IOException |
|
|
|
{ |
|
|
|
//ignore |
|
|
|
m_error = new InputStreamReader( is ); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@@ -59,7 +60,7 @@ class RedirectingStreamHandler |
|
|
|
*/ |
|
|
|
public void setProcessOutputStream( InputStream is ) throws IOException |
|
|
|
{ |
|
|
|
m_reader = new BufferedReader(new InputStreamReader(is)); |
|
|
|
m_reader = new BufferedReader( new InputStreamReader( is ) ); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
@@ -73,6 +74,15 @@ class RedirectingStreamHandler |
|
|
|
m_parser.stdout( line ); |
|
|
|
line = m_reader.readLine(); |
|
|
|
} |
|
|
|
|
|
|
|
// Read the error stream so that it does not block ! |
|
|
|
// We cannot use a BufferedReader as the ready() method is bugged! |
|
|
|
// (see Bug 4329985, which is supposed to be fixed in JDK1.4 : |
|
|
|
//http://developer.java.sun.com/developer/bugParade/bugs/4329985.html) |
|
|
|
while( m_error.ready() ) |
|
|
|
{ |
|
|
|
m_error.read(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|