You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2016/02/24 12:59:38 UTC

svn commit: r1732093 - /tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java

Author: markt
Date: Wed Feb 24 11:59:37 2016
New Revision: 1732093

URL: http://svn.apache.org/viewvc?rev=1732093&view=rev
Log:
De-duplication
Reported by Simian.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java?rev=1732093&r1=1732092&r2=1732093&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/buf/ByteChunk.java Wed Feb 24 11:59:37 2016
@@ -360,42 +360,21 @@ public final class ByteChunk implements
     // -------------------- Removing data from the buffer --------------------
 
     public int substract() throws IOException {
-        if ((end - start) == 0) {
-            if (in == null) {
-                return -1;
-            }
-            int n = in.realReadBytes();
-            if (n < 0) {
-                return -1;
-            }
-        }
-        return (buff[start++] & 0xFF);
+        return substractB() & 0xFF;
     }
 
 
     public byte substractB() throws IOException {
-        if ((end - start) == 0) {
-            if (in == null) {
-                return -1;
-            }
-            int n = in.realReadBytes();
-            if (n < 0) {
-                return -1;
-            }
+        if (checkEof()) {
+            return -1;
         }
         return buff[start++];
     }
 
 
     public int substract(byte dest[], int off, int len ) throws IOException {
-        if ((end - start) == 0) {
-            if (in == null) {
-                return -1;
-            }
-            int n = in.realReadBytes();
-            if (n < 0) {
-                return -1;
-            }
+        if (checkEof()) {
+            return -1;
         }
         int n = len;
         if (len > getLength()) {
@@ -407,6 +386,20 @@ public final class ByteChunk implements
     }
 
 
+    private boolean checkEof() throws IOException {
+        if ((end - start) == 0) {
+            if (in == null) {
+                return true;
+            }
+            int n = in.realReadBytes();
+            if (n < 0) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+
     /**
      * Send the buffer to the sink. Called by append() when the limit is
      * reached. You can also call it explicitly to force the data to be written.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org