diff --git a/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java b/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java
index eb2be0d54..8ed410170 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/ConnectionAcceptor.java
@@ -120,6 +120,8 @@ public class ConnectionAcceptor implements Runnable
if (serverSocket == null)
try { Thread.sleep(10*1000); } catch (InterruptedException ie) {}
}
+ if(stop)
+ break;
try
{
I2PSocket socket = serverSocket.accept();
diff --git a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
index a319954a4..bfd74206c 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/I2PSnarkUtil.java
@@ -185,7 +185,8 @@ public class I2PSnarkUtil {
out = File.createTempFile("i2psnark", "url", new File("."));
} catch (IOException ioe) {
ioe.printStackTrace();
- out.delete();
+ if (out != null)
+ out.delete();
return null;
}
String fetchURL = url;
diff --git a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
index 2d882489b..984e50ef3 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/MetaInfo.java
@@ -408,7 +408,7 @@ public class MetaInfo
info.put("name", name);
if (name_utf8 != null)
info.put("name.utf-8", name_utf8);
- info.put("piece length", new Integer(piece_length));
+ info.put("piece length", Integer.valueOf(piece_length));
info.put("pieces", piece_hashes);
if (files == null)
info.put("length", new Long(length));
@@ -434,9 +434,10 @@ public class MetaInfo
Map info = createInfoMap();
StringBuffer buf = new StringBuffer(128);
buf.append("info: ");
- for (Iterator iter = info.keySet().iterator(); iter.hasNext(); ) {
- String key = (String)iter.next();
- Object val = info.get(key);
+ for (Iterator iter = info.entrySet().iterator(); iter.hasNext(); ) {
+ Map.Entry entry = (Map.Entry)iter.next();
+ String key = (String)entry.getKey();
+ Object val = entry.getValue();
buf.append(key).append('=');
if (val instanceof byte[])
buf.append(Base64.encode((byte[])val, true));
diff --git a/apps/i2psnark/java/src/org/klomp/snark/PeerMonitorTask.java b/apps/i2psnark/java/src/org/klomp/snark/PeerMonitorTask.java
index e36152330..229391cd7 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/PeerMonitorTask.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/PeerMonitorTask.java
@@ -30,7 +30,7 @@ import java.util.TimerTask;
class PeerMonitorTask extends TimerTask
{
final static long MONITOR_PERIOD = 10 * 1000; // Ten seconds.
- private final long KILOPERSECOND = 1024 * (MONITOR_PERIOD / 1000);
+ private static final long KILOPERSECOND = 1024 * (MONITOR_PERIOD / 1000);
private final PeerCoordinator coordinator;
diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
index 0e4fc3da5..de9dd1ad7 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java
@@ -255,8 +255,8 @@ public class Snark
if (slistener == null)
slistener = this;
- if (clistener == null)
- clistener = this;
+ //if (clistener == null)
+ // clistener = this;
this.torrent = torrent;
this.rootDataDir = rootDir;
@@ -312,9 +312,9 @@ public class Snark
// Figure out what the torrent argument represents.
meta = null;
File f = null;
+ InputStream in = null;
try
{
- InputStream in = null;
f = new File(torrent);
if (f.exists())
in = new FileInputStream(f);
@@ -364,8 +364,11 @@ public class Snark
*/
else
fatal("Cannot open '" + torrent + "'", ioe);
- }
-
+ } finally {
+ if (in != null)
+ try { in.close(); } catch (IOException ioe) {}
+ }
+
debug(meta.toString(), INFO);
// When the metainfo torrent was created from an existing file/dir
@@ -721,7 +724,7 @@ public class Snark
{
// Use the MetaInfo from the storage since our own might not
// yet be setup correctly.
- MetaInfo meta = storage.getMetaInfo();
+ //MetaInfo meta = storage.getMetaInfo();
//if (meta != null)
// System.out.print("Checking existing "
// + meta.getPieces()
diff --git a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
index 81480a695..bdb685078 100644
--- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
+++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java
@@ -90,9 +90,10 @@ public class I2PSnarkServlet extends HttpServlet {
out.write("
Wishlist\n");
int count = 1;
Map trackers = _manager.getTrackers();
- for (Iterator iter = trackers.keySet().iterator(); iter.hasNext(); ) {
- String name = (String)iter.next();
- String baseURL = (String)trackers.get(name);
+ for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) {
+ Map.Entry entry = (Map.Entry)iter.next();
+ String name = (String)entry.getKey();
+ String baseURL = (String)entry.getValue();
int e = baseURL.indexOf('=');
if (e < 0)
continue;
@@ -496,9 +497,10 @@ public class I2PSnarkServlet extends HttpServlet {
String announce = snark.meta.getAnnounce();
if (announce.startsWith("http://YRgrgTLG") || announce.startsWith("http://8EoJZIKr")) {
Map trackers = _manager.getTrackers();
- for (Iterator iter = trackers.keySet().iterator(); iter.hasNext(); ) {
- String name = (String)iter.next();
- String baseURL = (String)trackers.get(name);
+ for (Iterator iter = trackers.entrySet().iterator(); iter.hasNext(); ) {
+ Map.Entry entry = (Map.Entry)iter.next();
+ String name = (String)entry.getKey();
+ String baseURL = (String)entry.getValue();
if (!baseURL.startsWith(announce))
continue;
int e = baseURL.indexOf('=');
@@ -668,9 +670,10 @@ public class I2PSnarkServlet extends HttpServlet {
+ "\" title=\"File to seed (must be within the specified path)\" /> \n");
out.write("Tracker: |