Author: toad
Date: 2008-06-21 14:53:48 +0000 (Sat, 21 Jun 2008)
New Revision: 20575

Modified:
   branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
   branches/db4o/freenet/src/freenet/support/io/BucketTools.java
Log:
A couple of fixes to the direct-to-chain code.

Modified: branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java 
2008-06-21 14:43:57 UTC (rev 20574)
+++ branches/db4o/freenet/src/freenet/support/io/BucketChainBucket.java 
2008-06-21 14:53:48 UTC (rev 20575)
@@ -200,7 +200,7 @@
                                }
                                if(bucketLength == bucketSize) {
                                        curBucketStream.close();
-                                       curBucketStream = 
makeBucketOutputStream(bucketNo++);
+                                       curBucketStream = 
makeBucketOutputStream(++bucketNo);
                                        bucketLength = 0;
                                }
                                curBucketStream.write(c);
@@ -230,7 +230,7 @@
                                if(length <= 0) return;
                                if(bucketLength == bucketSize) {
                                        curBucketStream.close();
-                                       curBucketStream = 
makeBucketOutputStream(bucketNo++);
+                                       curBucketStream = 
makeBucketOutputStream(++bucketNo);
                                        bucketLength = 0;
                                }
                                if(bucketLength + length > bucketSize) {

Modified: branches/db4o/freenet/src/freenet/support/io/BucketTools.java
===================================================================
--- branches/db4o/freenet/src/freenet/support/io/BucketTools.java       
2008-06-21 14:43:57 UTC (rev 20574)
+++ branches/db4o/freenet/src/freenet/support/io/BucketTools.java       
2008-06-21 14:53:48 UTC (rev 20575)
@@ -348,9 +348,10 @@
                if(origData instanceof BucketChainBucket) {
                        BucketChainBucket data = (BucketChainBucket)origData;
                        if(data.bucketSize == splitSize) {
+                               Bucket[] buckets = data.getBuckets();
                                if(freeData)
                                        data.clear();
-                               return data.getBuckets();
+                               return buckets;
                        } else {
                                Logger.error(BucketTools.class, "Incompatible 
split size splitting a BucketChainBucket: his split size is "+data.bucketSize+" 
but mine is "+splitSize+" - we will copy the data, but this suggests a bug", 
new Exception("debug"));
                        }


Reply via email to