Repository: commons-compress
Updated Branches:
  refs/heads/master 422160005 -> 46f57bf93


properly return -1 from read on EOF


Project: http://git-wip-us.apache.org/repos/asf/commons-compress/repo
Commit: http://git-wip-us.apache.org/repos/asf/commons-compress/commit/46f57bf9
Tree: http://git-wip-us.apache.org/repos/asf/commons-compress/tree/46f57bf9
Diff: http://git-wip-us.apache.org/repos/asf/commons-compress/diff/46f57bf9

Branch: refs/heads/master
Commit: 46f57bf93d140737fcce830f83c962a309fa5a1a
Parents: 4221600
Author: Stefan Bodewig <[email protected]>
Authored: Fri Nov 4 16:41:48 2016 +0100
Committer: Stefan Bodewig <[email protected]>
Committed: Fri Nov 4 16:43:26 2016 +0100

----------------------------------------------------------------------
 .../commons/compress/utils/SeekableInMemoryByteChannel.java      | 3 +++
 .../commons/compress/utils/SeekableInMemoryByteChannelTest.java  | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/commons-compress/blob/46f57bf9/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
----------------------------------------------------------------------
diff --git 
a/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
 
b/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
index 2057f17..75619b0 100644
--- 
a/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
+++ 
b/src/main/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannel.java
@@ -107,6 +107,9 @@ public class SeekableInMemoryByteChannel implements 
SeekableByteChannel {
         repositionIfNecessary();
         int wanted = buf.remaining();
         int possible = size - position;
+        if (possible <= 0) {
+            return -1;
+        }
         if (wanted > possible) {
             wanted = possible;
         }

http://git-wip-us.apache.org/repos/asf/commons-compress/blob/46f57bf9/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
----------------------------------------------------------------------
diff --git 
a/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
 
b/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
index b552cf0..3e055b2 100644
--- 
a/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
+++ 
b/src/test/java/org/apache/commons/compress/utils/SeekableInMemoryByteChannelTest.java
@@ -75,7 +75,7 @@ public class SeekableInMemoryByteChannelTest {
     }
 
     @Test
-    public void shouldReadNoDataWhenPositionAtTheEnd() throws IOException {
+    public void shouldSignalEOFWhenPositionAtTheEnd() throws IOException {
         //given
         SeekableInMemoryByteChannel c = new 
SeekableInMemoryByteChannel(testData);
         ByteBuffer readBuffer = ByteBuffer.allocate(testData.length);
@@ -84,7 +84,7 @@ public class SeekableInMemoryByteChannelTest {
         int readCount = c.read(readBuffer);
         //then
         assertEquals(0L, readBuffer.position());
-        assertEquals(0, readCount);
+        assertEquals(-1, readCount);
     }
 
     @Test(expected = ClosedChannelException.class)

Reply via email to