Author: nextgens
Date: 2007-06-30 00:50:46 +0000 (Sat, 30 Jun 2007)
New Revision: 13839
Modified:
trunk/freenet/src/freenet/support/io/FileUtil.java
Log:
Maybe fix an error reported by Jflesch:
juin 30, 2007 00:31:56:172 (freenet.node.fcp.FCPConnectionOutputHandler, FCP
output handler for /127.0.0.1:50379:50379, ERROR): (FCP) Caught
java.lang.ArrayIndexOutOfBoundsException
java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at
java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:516)
at java.lang.StringBuffer.append(StringBuffer.java:306)
at freenet.support.io.FileUtil.readUTF(FileUtil.java:92)
at
freenet.node.fcp.TestDDACompleteMessage.getFieldSet(TestDDACompleteMessage.java:58)
at freenet.node.fcp.FCPMessage.send(FCPMessage.java:15)
at
freenet.node.fcp.FCPConnectionOutputHandler.realRun(FCPConnectionOutputHandler.java:68)
at
freenet.node.fcp.FCPConnectionOutputHandler.run(FCPConnectionOutputHandler.java:31)
at java.lang.Thread.run(Thread.java:619)
Modified: trunk/freenet/src/freenet/support/io/FileUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileUtil.java 2007-06-30 00:35:41 UTC
(rev 13838)
+++ trunk/freenet/src/freenet/support/io/FileUtil.java 2007-06-30 00:50:46 UTC
(rev 13839)
@@ -72,7 +72,7 @@
return result;
}
- // FIXME this is called readUTF but it reads in the default charset ...
eh??
+ // FIXME: this is called readUTF but it reads in the default charset
... eh??
public static String readUTF(File file) throws FileNotFoundException,
IOException {
StringBuffer result = new StringBuffer();
FileInputStream fis = null;
@@ -86,9 +86,8 @@
char[] buf = new char[4096];
int length = 0;
-
- while(length != -1) {
- length = isr.read(buf);
+
+ while((length = isr.read(buf)) > 0) {
result.append(buf, 0, length);
}