X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fxdcc%2Fui%2Fstdin%2FCommandReader.java;h=eaaef2389c127b747548799928e681b3b2431710;hb=52be4d6d0bf21502d301814ba88735fd72a3f284;hp=58ef4d09fd93af43299679f954959d843bb479f2;hpb=a3b22ab8e686c5c5b0a609132fb7101e4962ad57;p=xudocci.git diff --git a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java index 58ef4d0..eaaef23 100644 --- a/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java +++ b/src/main/java/net/pterodactylus/xdcc/ui/stdin/CommandReader.java @@ -94,8 +94,8 @@ public class CommandReader extends AbstractExecutionThreadService { String[] words = line.split(" +"); if (words[0].equalsIgnoreCase("search")) { lastResult.clear(); - for (Bot bot : core.bots()) { - for (Pack pack : bot) { + for (Bot bot : Lists.newArrayList(core.bots())) { + for (Pack pack : Lists.newArrayList(bot)) { boolean found = true; for (int wordIndex = 1; wordIndex < words.length; ++wordIndex) { if (words[wordIndex].startsWith("-") && pack.name().toLowerCase().contains(words[wordIndex].toLowerCase().substring(1))) { @@ -169,9 +169,15 @@ public class CommandReader extends AbstractExecutionThreadService { } writeLine("End of connections."); } else if (words[0].equalsIgnoreCase("disconnect")) { - Integer index = Ints.tryParse(words[1]); - if ((index != null) && (index < lastConnections.size())) { - core.closeConnection(lastConnections.get(index)); + if ((words.length == 1) || ("all".equals(words[1]))) { + for (Connection connection : lastConnections) { + core.closeConnection(connection); + } + } else { + Integer index = Ints.tryParse(words[1]); + if ((index != null) && (index < lastConnections.size())) { + core.closeConnection(lastConnections.get(index)); + } } }