You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by im...@apache.org on 2005/09/11 16:01:31 UTC
svn commit: r280140 - in /jakarta/commons/sandbox/compress/trunk/src:
java/org/apache/commons/compress/bzip2/CBZip2InputStream.java
test/org/apache/commons/compress/bzip2/test/BzipTestCase.java
Author: imario
Date: Sun Sep 11 07:01:25 2005
New Revision: 280140
URL: http://svn.apache.org/viewcvs?rev=280140&view=rev
Log:
PR: 36597
Submitted by: Hiroki Ata <hiroki.ata -at- mail.com>
underlaying inputStream wasnt correctly closed.
Thanks for the patch!
Modified:
jakarta/commons/sandbox/compress/trunk/src/java/org/apache/commons/compress/bzip2/CBZip2InputStream.java
jakarta/commons/sandbox/compress/trunk/src/test/org/apache/commons/compress/bzip2/test/BzipTestCase.java
Modified: jakarta/commons/sandbox/compress/trunk/src/java/org/apache/commons/compress/bzip2/CBZip2InputStream.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/compress/trunk/src/java/org/apache/commons/compress/bzip2/CBZip2InputStream.java?rev=280140&r1=280139&r2=280140&view=diff
==============================================================================
--- jakarta/commons/sandbox/compress/trunk/src/java/org/apache/commons/compress/bzip2/CBZip2InputStream.java (original)
+++ jakarta/commons/sandbox/compress/trunk/src/java/org/apache/commons/compress/bzip2/CBZip2InputStream.java Sun Sep 11 07:01:25 2005
@@ -624,6 +624,16 @@
private void bsFinishedWithStream()
{
+ if (m_input != null)
+ {
+ try
+ {
+ m_input.close();
+ }
+ catch ( IOException e )
+ {
+ }
+ }
m_input = null;
}
@@ -967,6 +977,6 @@
public void close() throws IOException
{
- m_input.close();
+ bsFinishedWithStream();
}
}
Modified: jakarta/commons/sandbox/compress/trunk/src/test/org/apache/commons/compress/bzip2/test/BzipTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/compress/trunk/src/test/org/apache/commons/compress/bzip2/test/BzipTestCase.java?rev=280140&r1=280139&r2=280140&view=diff
==============================================================================
--- jakarta/commons/sandbox/compress/trunk/src/test/org/apache/commons/compress/bzip2/test/BzipTestCase.java (original)
+++ jakarta/commons/sandbox/compress/trunk/src/test/org/apache/commons/compress/bzip2/test/BzipTestCase.java Sun Sep 11 07:01:25 2005
@@ -83,6 +83,30 @@
forceDelete( outputFile );
}
+ public void testCBZip2InputStreamClose()
+ throws Exception
+ {
+ final InputStream input = getInputStream( "asf-logo-huge.tar.bz2" );
+ final File outputFile = getOutputFile( ".tar.bz2" );
+ final OutputStream output = new FileOutputStream( outputFile );
+ copy( input, output );
+ shutdownStream( input );
+ shutdownStream( output );
+ assertTrue( "Check output file exists." , outputFile.exists() );
+ final InputStream input2 = new FileInputStream( outputFile );
+ final InputStream packedInput = getPackedInput( input2 );
+ shutdownStream( packedInput );
+ try
+ {
+ input2.read();
+ assertTrue("Source input stream is still opened.", false);
+ } catch ( Exception e )
+ {
+ // Read closed stream.
+ }
+ forceDelete( outputFile );
+ }
+
/**
* Copy bytes from an <code>InputStream</code> to an <code>OutputStream</code>.
*/
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org