diff --git a/exec/load/sbbsimsg_lib.js b/exec/load/sbbsimsg_lib.js index c0a43dde3796a4485b9820462b20dc955027bb2b..be8b5e9f046156d7d783af78a089802e6f112a7c 100644 --- a/exec/load/sbbsimsg_lib.js +++ b/exec/load/sbbsimsg_lib.js @@ -4,7 +4,11 @@ // $Id$ -load("sockdefs.js"); // SOCK_DGRAM +require("sockdefs.js", 'SOCK_DGRAM'); + +const SentAddressHistoryLength = 10; +const props_sent = "imsg sent"; +const props_recv = "imsg received"; // Read the list of systems into list array var filename = system.ctrl_dir + "sbbsimsg.lst"; @@ -159,6 +163,7 @@ function poll_systems(sent, interval, timeout, callback) var message = receive_active_users(); if(message == null) continue; + replies++; var result = parse_active_users(message); @@ -183,6 +188,17 @@ function send_msg(dest, msg, from) sock.close(); if(result < 1) return "MSP Send to " + host + " failed with error " + sock.last_error; + + var userprops = load({}, "userprops.js") + var addr_list = userprops.get(props_sent, "address", []); + var addr_idx = addr_list.indexOf(dest); + if(addr_idx >= 0) + addr_list.splice(addr_idx, 1); + addr_list.unshift(dest); + if(addr_list.length > SentAddressHistoryLength) + addr_list.length = SentAddressHistoryLength; + userprops.set(props_sent, "address", addr_list); + userprops.set(props_sent, "localtime", new Date().toString()); return true; }