You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by bo...@apache.org on 2013/07/08 16:25:37 UTC
svn commit: r1500757 - in /commons/proper/compress/trunk/src:
changes/changes.xml
main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
Author: bodewig
Date: Mon Jul 8 14:25:37 2013
New Revision: 1500757
URL: http://svn.apache.org/r1500757
Log:
COMPRESS-232 improve readability of TarArchiveInputStream
Modified:
commons/proper/compress/trunk/src/changes/changes.xml
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
Modified: commons/proper/compress/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/changes/changes.xml?rev=1500757&r1=1500756&r2=1500757&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/changes/changes.xml (original)
+++ commons/proper/compress/trunk/src/changes/changes.xml Mon Jul 8 14:25:37 2013
@@ -76,6 +76,10 @@ The <action> type attribute can be add,u
The class now also provides two new methods to obtain all
entries of a given name rather than just the first one.
</action>
+ <action type="update" date="2013-07-08" issue="COMPRESS-232"
+ due-to="BELUGA BEHR">
+ Readabilty patch to TarArchiveInputStream.
+ </action>
</release>
<release version="1.5" date="2013-03-14"
description="Release 1.5">
Modified: commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java
URL: http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java?rev=1500757&r1=1500756&r2=1500757&view=diff
==============================================================================
--- commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java (original)
+++ commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/tar/TarArchiveInputStream.java Mon Jul 8 14:25:37 2013
@@ -233,7 +233,8 @@ public class TarArchiveInputStream exten
byte[] headerBuf = getRecord();
- if (hasHitEOF) {
+ if (headerBuf == null) {
+ /* hit EOF */
currEntry = null;
return null;
}
@@ -324,28 +325,27 @@ public class TarArchiveInputStream exten
* over any remaining data in the current entry, if there
* is one, and place the input stream at the header of the
* next entry.
- * If there are no more entries in the archive, null will
- * be returned to indicate that the end of the archive has
- * been reached.
+ *
+ * <p>If there are no more entries in the archive, null will be
+ * returned to indicate that the end of the archive has been
+ * reached. At the same time the {@code hasHitEOF} marker will be
+ * set to true.</p>
*
* @return The next header in the archive, or null.
* @throws IOException on error
*/
private byte[] getRecord() throws IOException {
- if (hasHitEOF) {
- return null;
- }
-
- byte[] headerBuf = buffer.readRecord();
-
- if (buffer.isEOFRecord(headerBuf)) {
- hasHitEOF = true;
- if (headerBuf != null) {
+ byte[] headerBuf = null;
+ if (!hasHitEOF) {
+ headerBuf = buffer.readRecord();
+ hasHitEOF = buffer.isEOFRecord(headerBuf);
+ if (hasHitEOF && headerBuf != null) {
buffer.tryToConsumeSecondEOFRecord();
+ headerBuf = null;
}
}
- return hasHitEOF ? null : headerBuf;
+ return headerBuf;
}
private void paxHeaders() throws IOException{
@@ -456,7 +456,7 @@ public class TarArchiveInputStream exten
TarArchiveSparseEntry entry;
do {
byte[] headerBuf = getRecord();
- if (hasHitEOF) {
+ if (headerBuf == null) {
currEntry = null;
break;
}