From e1189b9c9f76b333fd08774910f79b5f01a9b0ca Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Mon, 25 Nov 2019 13:36:48 +0000
Subject: [PATCH] i2psnark: Error messages take 2

---
 .../java/src/org/klomp/snark/Snark.java       | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
index fabe18fe93..4f3992c42c 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
@@ -467,7 +467,7 @@ public class Snark
             try { storage.close(); } catch (IOException ioee) {
                 ioee.printStackTrace();
             }
-            fatal("Could not check or create storage for " + getBaseName(), ioe);
+            fatal("Could not check or create files for " + getBaseInfo(), ioe);
           }
       }
 
@@ -609,7 +609,7 @@ public class Snark
                  try { storage.close(); } catch (IOException ioee) {
                      ioee.printStackTrace();
                  }
-                 fatal("Could not reopen storage for " + getBaseName(), ioe);
+                 fatal("Could not open file for " + getBaseInfo(), ioe);
              }
         }
         trackerclient.start();
@@ -710,6 +710,19 @@ public class Snark
         return torrent;
     }
 
+    /**
+     *  @return base name for torrent [filtered version of getMetaInfo.getName()],
+     *          or a fake name if in magnet mode, followed by path info and error message,
+     *          for error logging only
+     *  @since 0.9.44
+     */
+    private String getBaseInfo() {
+        if (storage != null)
+            return storage.getBaseName() + " at " +
+                   storage.getBase() + " - check that device is present and writable";
+        return torrent;
+    }
+
     /**
      *  @return always will be valid even in magnet mode
      *  @since 0.8.4
@@ -1256,7 +1269,7 @@ public class Snark
           }
           // TODO we're still in an inconsistent state, won't work if restarted
           // (PeerState "disconnecting seed that connects to seeds"
-          fatal("Could not create data files for " + getBaseName(), ioe);
+          fatal("Could not create file for " + getBaseInfo(), ioe);
       }
   }
 
-- 
GitLab