Diff

plugins/mod_admin_telnet.lua @ 9330:36badabc85ce

mod_admin_telnet: Make use of util.iterators.sorted_pairs()
author Matthew Wild <mwild1@gmail.com>
date Fri, 21 Sep 2018 14:36:29 +0100
parent 9009:4c745d42c974
child 9332:048389a9bbd4
line wrap: on
line diff
--- a/plugins/mod_admin_telnet.lua	Fri Sep 21 14:35:35 2018 +0100
+++ b/plugins/mod_admin_telnet.lua	Fri Sep 21 14:36:29 2018 +0100
@@ -875,9 +875,9 @@
 	local print = self.session.print;
 	local i = 0;
 	local type;
-	for host in values(array.collect(keys(prosody.hosts)):sort()) do
+	for host, host_session in it.sorted_pairs(prosody.hosts) do
 		i = i + 1;
-		type = hosts[host].type;
+		type = host_session.type;
 		if type == "local" then
 			print(host);
 		else
@@ -896,14 +896,11 @@
 function def_env.port:list()
 	local print = self.session.print;
 	local services = portmanager.get_active_services().data;
-	local ordered_services, n_ports = {}, 0;
-	for service, interfaces in pairs(services) do
-		table.insert(ordered_services, service);
-	end
-	table.sort(ordered_services);
-	for _, service in ipairs(ordered_services) do
+	local n_services, n_ports = 0, 0;
+	for service, interfaces in it.sorted_pairs(services) do
+		n_services = n_services + 1;
 		local ports_list = {};
-		for interface, ports in pairs(services[service]) do
+		for interface, ports in pairs(interfaces) do
 			for port in pairs(ports) do
 				table.insert(ports_list, "["..interface.."]:"..port);
 			end
@@ -911,7 +908,7 @@
 		n_ports = n_ports + #ports_list;
 		print(service..": "..table.concat(ports_list, ", "));
 	end
-	return true, #ordered_services.." services listening on "..n_ports.." ports";
+	return true, n_services.." services listening on "..n_ports.." ports";
 end
 
 function def_env.port:close(close_port, close_interface)