Author: bodewig
Date: Mon Mar 30 15:49:16 2009
New Revision: 760017

URL: http://svn.apache.org/viewvc?rev=760017&view=rev
Log:
offset calculation was broken

Modified:
    
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java

Modified: 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
URL: 
http://svn.apache.org/viewvc/commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java?rev=760017&r1=760016&r2=760017&view=diff
==============================================================================
--- 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
 (original)
+++ 
commons/proper/compress/trunk/src/main/java/org/apache/commons/compress/archivers/ar/ArArchiveInputStream.java
 Mon Mar 30 15:49:16 2009
@@ -111,19 +111,17 @@
 
     public int read() throws IOException {
         final int ret = input.read();
-        offset++;
+        offset += (ret > 0 ? 1 : 0);
         return ret;
     }
 
     public int read(byte b[]) throws IOException {
-        final int ret = read(b, 0, b.length);
-        offset = offset + b.length;
-        return ret;
+        return read(b, 0, b.length);
     }
 
     public int read(byte[] b, int off, int len) throws IOException {
         final int ret = this.input.read(b, off, len);
-        offset = offset + off;
+        offset += (ret > 0 ? ret : 0);
         return ret;
     }
 


Reply via email to