Author: toad
Date: 2007-05-22 15:40:26 +0000 (Tue, 22 May 2007)
New Revision: 13302
Modified:
trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
Log:
Doh!
Modified: trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-05-22
15:22:41 UTC (rev 13301)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutMessage.java 2007-05-22
15:40:26 UTC (rev 13302)
@@ -244,7 +244,7 @@
long dataLength() {
if(uploadFromType == UPLOAD_FROM_DIRECT)
return dataLength;
- else return 0;
+ else return -1;
}
String getIdentifier() {
Modified: trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2007-05-22
15:22:41 UTC (rev 13301)
+++ trunk/freenet/src/freenet/node/fcp/DataCarryingMessage.java 2007-05-22
15:40:26 UTC (rev 13302)
@@ -33,8 +33,7 @@
public void readFrom(InputStream is, BucketFactory bf, FCPServer
server) throws IOException, MessageInvalidException {
long len = dataLength();
- if(len < 0)
- throw new IllegalArgumentException("Invalid length:
"+len);
+ if(len < 0) return;
if(len == 0) {
bucket = new NullBucket();
return;
@@ -51,7 +50,8 @@
}
protected void writeData(OutputStream os) throws IOException {
- BucketTools.copyTo(bucket, os, dataLength());
+ long len = dataLength();
+ if(len > 0) BucketTools.copyTo(bucket, os, len);
if(freeOnSent) bucket.free();
}