This version should be more efficient and cleaner too.

Will do the old code with comments too.

Bojan
--- 
/home/groups/devel/jakarta/jakarta-tomcat/src/share/org/apache/tomcat/util/depend/DependClassLoader.java
    Mon Sep 17 11:51:16 2001
+++ 
+jakarta-tomcat-changed/src/share/org/apache/tomcat/util/depend/DependClassLoader.java 
+      Wed Sep 19 10:10:21 2001
@@ -263,32 +263,19 @@
         return parent;
     }
 
-    private byte[] readFully( InputStream is )
-       throws IOException
+    private byte[] readFully(InputStream is)
+      throws IOException
     {
-       byte b[]=new byte[1024];
-       int count=0;
+      int length;
+      byte[] store=new byte[1024];
+      ByteArrayOutputStream buf=new ByteArrayOutputStream();
 
-       int available=1024;
-       
-       while (true) {
-           int nRead = is.read(b,count,available);
-           if( nRead== -1 ) {
-               // we're done reading
-               byte result[]=new byte[count];
-               System.arraycopy( b, 0, result, 0, count );
-               return result;
-           }
-           // got a chunk
-           count += nRead;
-            available -= nRead;
-           if( available == 0 ) {
-               // buffer full
-               byte b1[]=new byte[ b.length * 2 ];
-               available=b.length;
-               System.arraycopy( b, 0, b1, 0, b.length );
-               b=b1;
-           }
-        }
+      while((length=is.read(store))!=-1) buf.write(store,0,length);
+
+      buf.flush();
+      store=buf.toByteArray();
+      buf.close();
+
+      return store;
     }
 }

Reply via email to