Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 110F210771 for ; Mon, 14 Oct 2013 11:10:41 +0000 (UTC) Received: (qmail 62233 invoked by uid 500); 14 Oct 2013 11:10:29 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 61959 invoked by uid 500); 14 Oct 2013 11:10:25 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 61764 invoked by uid 99); 14 Oct 2013 11:10:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Oct 2013 11:10:24 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 14 Oct 2013 11:10:21 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 072022388A67; Mon, 14 Oct 2013 11:10:01 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1531853 - in /commons/proper/compress/trunk/src/main/java/org/apache/commons/compress: archivers/ArchiveStreamFactory.java archivers/arj/ArjArchiveInputStream.java compressors/gzip/GzipCompressorInputStream.java Date: Mon, 14 Oct 2013 11:10:00 -0000 To: commits@commons.apache.org From: bodewig@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20131014111001.072022388A67@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: bodewig Date: Mon Oct 14 11:10:00 2013 New Revision: 1531853 URL: http://svn.apache.org/r1531853 Log: clean up ARJ header parsing, addrss PMD issues Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStream.java commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java?rev=1531853&r1=1531852&r2=1531853&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ArchiveStreamFactory.java Mon Oct 14 11:10:00 2013 @@ -332,7 +332,7 @@ public class ArchiveStreamFactory { if (tais != null) { try { tais.close(); - } catch (IOException ignored) { + } catch (IOException ignored) { // NOPMD // ignored } } Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStream.java?rev=1531853&r1=1531852&r2=1531853&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/arj/ArjArchiveInputStream.java Mon Oct 14 11:10:00 2013 @@ -20,7 +20,6 @@ package org.apache.commons.compress.arch import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.DataInputStream; -import java.io.EOFException; import java.io.IOException; import java.io.InputStream; import java.util.ArrayList; @@ -85,11 +84,8 @@ public class ArjArchiveInputStream exten } @Override - public void close() { - try { - in.close(); - } catch (IOException ignored) { - } + public void close() throws IOException { + in.close(); } private static void debug(final String message) { @@ -194,14 +190,13 @@ public class ArjArchiveInputStream exten mainHeader.encryptionVersion = firstHeader.readUnsignedByte(); mainHeader.lastChapter = firstHeader.readUnsignedByte(); - try { + if (firstHeaderSize >= 33) { mainHeader.arjProtectionFactor = firstHeader.readUnsignedByte(); mainHeader.arjFlags2 = firstHeader.readUnsignedByte(); firstHeader.readUnsignedByte(); firstHeader.readUnsignedByte(); - } catch (EOFException eof) { } - + mainHeader.name = readString(basicHeader); mainHeader.comment = readString(basicHeader); @@ -256,15 +251,8 @@ public class ArjArchiveInputStream exten localFileHeader.firstChapter = firstHeader.readUnsignedByte(); localFileHeader.lastChapter = firstHeader.readUnsignedByte(); - try { - localFileHeader.extendedFilePosition = read32(firstHeader); - localFileHeader.dateTimeAccessed = read32(firstHeader); - localFileHeader.dateTimeCreated = read32(firstHeader); - localFileHeader.originalSizeEvenForVolumes = read32(firstHeader); - pushedBackBytes(16); - } catch (EOFException eof) { - } - + readExtraData(firstHeaderSize, firstHeader, localFileHeader); + localFileHeader.name = readString(basicHeader); localFileHeader.comment = readString(basicHeader); @@ -290,6 +278,20 @@ public class ArjArchiveInputStream exten return localFileHeader; } + private void readExtraData(int firstHeaderSize, DataInputStream firstHeader, + LocalFileHeader localFileHeader) throws IOException { + if (firstHeaderSize >= 33) { + localFileHeader.extendedFilePosition = read32(firstHeader); + if (firstHeaderSize >= 45) { + localFileHeader.dateTimeAccessed = read32(firstHeader); + localFileHeader.dateTimeCreated = read32(firstHeader); + localFileHeader.originalSizeEvenForVolumes = read32(firstHeader); + pushedBackBytes(12); + } + pushedBackBytes(4); + } + } + /** * Checks if the signature matches what is expected for an arj file. * @@ -322,7 +324,8 @@ public class ArjArchiveInputStream exten @Override public ArjArchiveEntry getNextEntry() throws IOException { if (currentInputStream != null) { - while (currentInputStream.read() >= 0) { + while (currentInputStream.read() >= 0) { // NOPMD + // drain current input } currentLocalFileHeader = null; currentInputStream = null; Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java?rev=1531853&r1=1531852&r2=1531853&view=diff ============================================================================== --- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java (original) +++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/compressors/gzip/GzipCompressorInputStream.java Mon Oct 14 11:10:00 2013 @@ -210,7 +210,8 @@ public class GzipCompressorInputStream e } private void readToNull(DataInputStream inData) throws IOException { - while (inData.readUnsignedByte() != 0x00) {} + while (inData.readUnsignedByte() != 0x00) { // NOPMD + } } @Override