From 616abba328b77bda371334b9de6c80e136edc063 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Wed, 16 Jul 2008 15:02:20 +0000
Subject: [PATCH]     * i2psnark: Open completed files read-only the first time

---
 apps/i2psnark/java/src/org/klomp/snark/Storage.java | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/apps/i2psnark/java/src/org/klomp/snark/Storage.java b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
index 6b49819b14..fd3d034f0b 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Storage.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Storage.java
@@ -312,7 +312,7 @@ public class Storage
             if (lm <= 0 || lm > savedTime)
                 useSavedBitField = false;
         }
-        if (base.exists() && !base.canWrite())  // hope we can get away with this, if we are only seeding...
+        if (base.exists() && ((useSavedBitField && savedBitField.complete()) || !base.canWrite()))
             rafs[0] = new RandomAccessFile(base, "r");
         else
             rafs[0] = new RandomAccessFile(base, "rw");
@@ -341,7 +341,7 @@ public class Storage
                 if (lm <= 0 || lm > savedTime)
                     useSavedBitField = false;
             }
-            if (f.exists() && !f.canWrite()) // see above re: only seeding
+            if (f.exists() && ((useSavedBitField && savedBitField.complete()) || !f.canWrite()))
                 rafs[i] = new RandomAccessFile(f, "r");
             else
                 rafs[i] = new RandomAccessFile(f, "rw");
-- 
GitLab