You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by od...@apache.org on 2010/02/16 14:02:06 UTC
svn commit: r910508 - in /harmony/enhanced/classlib/trunk/modules:
archive/src/main/java/java/util/zip/ZipFile.java
swing/src/main/java/common/javax/swing/text/html/parser/DTD.java
Author: odeakin
Date: Tue Feb 16 13:02:05 2010
New Revision: 910508
URL: http://svn.apache.org/viewvc?rev=910508&view=rev
Log:
Apply fix for HARMONY-6392 ([classlib][swing] Test failures in javax.swing.text.html.HTMLDocument_Reader_ActionsTest) - implement RAFStream.available() and alter DTD.read() so it no longer relies on the return value of available().
Modified:
harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipFile.java
harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/html/parser/DTD.java
Modified: harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipFile.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipFile.java?rev=910508&r1=910507&r2=910508&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipFile.java (original)
+++ harmony/enhanced/classlib/trunk/modules/archive/src/main/java/java/util/zip/ZipFile.java Tue Feb 16 13:02:05 2010
@@ -377,7 +377,15 @@
@Override
public int available() throws IOException {
- return (mOffset < mLength ? 1 : 0);
+ if (mLength > mOffset) {
+ if (mLength - mOffset < Integer.MAX_VALUE) {
+ return (int)(mLength - mOffset);
+ } else {
+ return Integer.MAX_VALUE;
+ }
+ } else {
+ return 0;
+ }
}
@Override
Modified: harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/html/parser/DTD.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/html/parser/DTD.java?rev=910508&r1=910507&r2=910508&view=diff
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/html/parser/DTD.java (original)
+++ harmony/enhanced/classlib/trunk/modules/swing/src/main/java/common/javax/swing/text/html/parser/DTD.java Tue Feb 16 13:02:05 2010
@@ -16,6 +16,7 @@
*/
package javax.swing.text.html.parser;
+import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.BitSet;
@@ -142,8 +143,17 @@
public void read(final DataInputStream stream) throws IOException {
// converts from DataInputStream into a byte array
- byte[] enc = new byte[stream.available()];
- stream.read(enc);
+ byte[] enc = new byte[1024];
+ ByteArrayOutputStream bs = new ByteArrayOutputStream();
+
+ int iRead = 0;
+ while (iRead != -1) {
+ iRead = stream.read(enc, 0, enc.length);
+ if (iRead > 0) {
+ bs.write(enc, 0, iRead);
+ }
+ }
+ enc = bs.toByteArray();
// decode the byte array
Asn1Dtd asn1 = new Asn1Dtd(enc);