Author: toad
Date: 2007-03-24 15:10:05 +0000 (Sat, 24 Mar 2007)
New Revision: 12309

Modified:
   trunk/freenet/src/freenet/client/StandardOnionFECCodec.java
Log:
Only copy back if wrote to the copy

Modified: trunk/freenet/src/freenet/client/StandardOnionFECCodec.java
===================================================================
--- trunk/freenet/src/freenet/client/StandardOnionFECCodec.java 2007-03-24 
14:59:55 UTC (rev 12308)
+++ trunk/freenet/src/freenet/client/StandardOnionFECCodec.java 2007-03-24 
15:10:05 UTC (rev 12309)
@@ -516,23 +516,22 @@

                                        // Encode it
                                        try {
-                                               if(job.isADecodingJob)
+                                               if(job.isADecodingJob) {
                                                        
realDecode(job.dataBlockStatus, job.checkBlockStatus, job.blockLength, 
job.bucketFactory);
-                                               else {
+                                               } else {
                                                        
realEncode(job.dataBlocks, job.checkBlocks, job.blockLength, job.bucketFactory);
+                                                       // Update 
SplitFileBlocks from buckets if necessary
+                                                       if((job.dataBlockStatus 
!= null) || (job.checkBlockStatus != null)){
+                                                               for(int 
i=0;i<job.dataBlocks.length;i++)
+                                                                       
job.dataBlockStatus[i].setData(job.dataBlocks[i]);
+                                                               for(int 
i=0;i<job.checkBlocks.length;i++)
+                                                                       
job.checkBlockStatus[i].setData(job.checkBlocks[i]);
+                                                       }
                                                }               
                                        } catch (IOException e) {
                                                Logger.error(this, "BOH! ioe:" 
+ e.getMessage());
                                        }

-                                       // Update SplitFileBlocks from buckets 
if necessary
-                                       if((job.dataBlockStatus != null) || 
(job.checkBlockStatus != null)){
-                                               for(int 
i=0;i<job.dataBlocks.length;i++)
-                                                       
job.dataBlockStatus[i].setData(job.dataBlocks[i]);
-                                               for(int 
i=0;i<job.checkBlocks.length;i++)
-                                                       
job.checkBlockStatus[i].setData(job.checkBlocks[i]);
-                                       }
-                                       
                                        // Call the callback
                                        try {
                                                if(job.isADecodingJob)


Reply via email to