git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@392045 13f79535-47bb-0310-9956-ffa450edef68master
@@ -172,6 +172,7 @@ Nico Seessle | |||||
Nigel Magnay | Nigel Magnay | ||||
Oliver Merkel | Oliver Merkel | ||||
Oliver Rossmueller | Oliver Rossmueller | ||||
Oystein Gisnas | |||||
Patrick C. Beard | Patrick C. Beard | ||||
Patrick Chanezon | Patrick Chanezon | ||||
Patrick G. Heck (Gus Heck) | Patrick G. Heck (Gus Heck) | ||||
@@ -698,6 +698,9 @@ | |||||
<first>Oliver</first> | <first>Oliver</first> | ||||
<last>Rossmueller</last> | <last>Rossmueller</last> | ||||
</name> | </name> | ||||
<name> | |||||
<first>Øystein</first> | |||||
<last>Gisnås</last> | |||||
<name> | <name> | ||||
<first>Patrick</first> | <first>Patrick</first> | ||||
<last>C.</last> | <last>C.</last> | ||||
@@ -1,5 +1,5 @@ | |||||
/* | /* | ||||
* Copyright 2000-2002,2004-2005 The Apache Software Foundation | |||||
* Copyright 2000-2002,2004-2006 The Apache Software Foundation | |||||
* | * | ||||
* Licensed under the Apache License, Version 2.0 (the "License"); | * Licensed under the Apache License, Version 2.0 (the "License"); | ||||
* you may not use this file except in compliance with the License. | * you may not use this file except in compliance with the License. | ||||
@@ -52,6 +52,8 @@ public class TarOutputStream extends FilterOutputStream { | |||||
protected byte[] assemBuf; | protected byte[] assemBuf; | ||||
protected TarBuffer buffer; | protected TarBuffer buffer; | ||||
protected int longFileMode = LONGFILE_ERROR; | protected int longFileMode = LONGFILE_ERROR; | ||||
private boolean closed = false; | |||||
/** | /** | ||||
* Constructor for TarInputStream. | * Constructor for TarInputStream. | ||||
@@ -136,8 +138,12 @@ public class TarOutputStream extends FilterOutputStream { | |||||
* @throws IOException on error | * @throws IOException on error | ||||
*/ | */ | ||||
public void close() throws IOException { | public void close() throws IOException { | ||||
this.finish(); | |||||
this.buffer.close(); | |||||
if (!closed) { | |||||
this.finish(); | |||||
this.buffer.close(); | |||||
out.close(); | |||||
closed = true; | |||||
} | |||||
} | } | ||||
/** | /** | ||||
@@ -0,0 +1,33 @@ | |||||
/* | |||||
* Copyright 2006 The Apache Software Foundation | |||||
* | |||||
* Licensed under the Apache License, Version 2.0 (the "License"); | |||||
* you may not use this file except in compliance with the License. | |||||
* You may obtain a copy of the License at | |||||
* | |||||
* http://www.apache.org/licenses/LICENSE-2.0 | |||||
* | |||||
* Unless required by applicable law or agreed to in writing, software | |||||
* distributed under the License is distributed on an "AS IS" BASIS, | |||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |||||
* See the License for the specific language governing permissions and | |||||
* limitations under the License. | |||||
* | |||||
*/ | |||||
package org.apache.tools.tar; | |||||
import java.io.ByteArrayOutputStream; | |||||
import java.io.IOException; | |||||
import junit.framework.TestCase; | |||||
public class TarOutputStreamTest extends TestCase { | |||||
public void testClose() throws IOException { | |||||
ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); | |||||
TarOutputStream stream = new TarOutputStream(byteStream); | |||||
stream.close(); | |||||
stream.close(); | |||||
} | |||||
} |