Author: toad
Date: 2007-06-18 16:07:26 +0000 (Mon, 18 Jun 2007)
New Revision: 13649

Modified:
   trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
Log:
Bugfixes from Anonymous at o9_0DTuZniSf_+oDmRsonByWxsI

Modified: trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2007-06-18 11:41:53 UTC (rev 13648)
+++ trunk/freenet/src/freenet/client/async/SplitFileFetcherSegment.java 
2007-06-18 16:07:26 UTC (rev 13649)
@@ -190,13 +190,6 @@
                // Now decode
                if(logMINOR) Logger.minor(this, "Decoding 
"+SplitFileFetcherSegment.this);

-               boolean[] dataBlocksSucceeded = new boolean[dataBuckets.length];
-               boolean[] checkBlocksSucceeded = new 
boolean[checkBuckets.length];
-               for(int i=0;i<dataBuckets.length;i++)
-                       dataBlocksSucceeded[i] = dataBuckets[i].data != null;
-               for(int i=0;i<checkBuckets.length;i++)
-                       checkBlocksSucceeded[i] = checkBuckets[i].data != null;
-
                codec = FECCodec.getCodec(splitfileType, dataKeys.length, 
checkKeys.length);

                if(splitfileType != Metadata.SPLITFILE_NONREDUNDANT) {
@@ -345,7 +338,8 @@
                                failedBlocks++;
                                parentFetcher.parent.failedBlock();
                        }
-                       allFailed = failedBlocks + fatallyFailedBlocks <= 
(dataKeys.length + checkKeys.length - minFetched);
+                       // Once it is no longer possible to have a successful 
fetch, fail...
+                       allFailed = failedBlocks + fatallyFailedBlocks > 
(dataKeys.length + checkKeys.length - minFetched);
                }
                if(allFailed)
                        fail(new FetchException(FetchException.SPLITFILE_ERROR, 
errors));


Reply via email to