Comparison

core/portmanager.lua @ 12312:8119a58b3a5c

core.portmanager: Fix traceback on attempt to get non-existent service If there's no such interface:port then `data` is nil and `data.service` errors.
author Kim Alvefur <zash@zash.se>
date Tue, 22 Feb 2022 13:41:05 +0100
parent 11598:081e550b973a
child 12480:7e9ebdc75ce4
comparison
equal deleted inserted replaced
12311:bc30e1b9ad89 12312:8119a58b3a5c
214 log("debug", "Removed listening service %s from [%s]:%d", service.name, interface, port); 214 log("debug", "Removed listening service %s from [%s]:%d", service.name, interface, port);
215 return true; 215 return true;
216 end 216 end
217 217
218 function get_service_at(interface, port) 218 function get_service_at(interface, port)
219 local data = active_services:search(nil, interface, port)[1][1]; 219 local data = active_services:search(nil, interface, port);
220 if not data or not data[1] or not data[1][1] then return nil, "not-found"; end
221 data = data[1][1];
220 return data.service, data.server; 222 return data.service, data.server;
221 end 223 end
222 224
223 local function get_service(service_name) 225 local function get_service(service_name)
224 return (services[service_name] or {})[1]; 226 return (services[service_name] or {})[1];