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 0d927fe45601380afa656c0aea91ae6d913c490d..975abfd7892a3ffbefffa29575ed6e44e75a5289 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java +++ b/apps/i2psnark/java/src/org/klomp/snark/web/I2PSnarkServlet.java @@ -500,20 +500,21 @@ public class I2PSnarkServlet extends BasicServlet { boolean showDebug = "2".equals(peerParam); int start = 0; + int total = snarks.size(); if (stParam != null) { try { - start = Math.max(0, Math.min(snarks.size() - 1, Integer.parseInt(stParam))); + start = Math.max(0, Math.min(total - 1, Integer.parseInt(stParam))); } catch (NumberFormatException nfe) {} } - int pageSize = _manager.getPageSize(); - for (int i = 0; i < snarks.size(); i++) { + int pageSize = Math.max(_manager.getPageSize(), 5); + for (int i = 0; i < total; i++) { Snark snark = (Snark)snarks.get(i); boolean showPeers = showDebug || "1".equals(peerParam) || Base64.encode(snark.getInfoHash()).equals(peerParam); boolean hide = i < start || i >= start + pageSize; displaySnark(out, snark, uri, i, stats, showPeers, isDegraded, noThinsp, showDebug, hide); } - if (snarks.isEmpty()) { + if (total == 0) { out.write("<tr class=\"snarkTorrentNoneLoaded\">" + "<td class=\"snarkTorrentNoneLoaded\"" + " colspan=\"11\"><i>"); @@ -545,8 +546,7 @@ public class I2PSnarkServlet extends BasicServlet { } } // Page count - int total = snarks.size(); - int pages = 1 + (total / pageSize); + int pages = 1 + ((total - 1) / pageSize); if (pages == 1 && start > 0) pages = 2; if (pages > 1) { @@ -582,7 +582,7 @@ public class I2PSnarkServlet extends BasicServlet { out.write(" "); out.write(_("Totals")); out.write(": "); - out.write(ngettext("1 torrent", "{0} torrents", snarks.size())); + out.write(ngettext("1 torrent", "{0} torrents", total)); out.write(", "); out.write(DataHelper.formatSize2(stats[5]) + "B, "); out.write(ngettext("1 connected peer", "{0} connected peers", (int) stats[4]));