Skip to content
Snippets Groups Projects
Commit fc3d3650 authored by Rob Swindell's avatar Rob Swindell :speech_balloon:
Browse files

Fix some potential (and observed) loops upon user disconnect.

parent f4ac7f39
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #268 passed
...@@ -398,7 +398,7 @@ function view_msg(msgbase, msg, lines, total_msgs, grp_name, sub_name, is_operat ...@@ -398,7 +398,7 @@ function view_msg(msgbase, msg, lines, total_msgs, grp_name, sub_name, is_operat
// console.clear(); // console.clear();
msg.lines = lines.length; msg.lines = lines.length;
while(!js.terminated) { while(bbs.online && !js.terminated) {
if(show_hdr) { if(show_hdr) {
console.home(); console.home();
console.status |= CON_CR_CLREOL; console.status |= CON_CR_CLREOL;
...@@ -422,7 +422,7 @@ function view_msg(msgbase, msg, lines, total_msgs, grp_name, sub_name, is_operat ...@@ -422,7 +422,7 @@ function view_msg(msgbase, msg, lines, total_msgs, grp_name, sub_name, is_operat
var i = line_num; var i = line_num;
var row = hdr_len; var row = hdr_len;
var pmode = msg_pmode(msgbase, msg); var pmode = msg_pmode(msgbase, msg);
while(row < (console.screen_rows - 2)) { while(row < (console.screen_rows - 2) && bbs.online) {
console.line_counter = 0; console.line_counter = 0;
if(i < lines.length) if(i < lines.length)
console.putmsg(lines[i++].trimRight(), pmode); console.putmsg(lines[i++].trimRight(), pmode);
...@@ -747,7 +747,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name) ...@@ -747,7 +747,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name)
console.line_counter = 0; console.line_counter = 0;
console.status |= CON_MOUSE_SCROLL; console.status |= CON_MOUSE_SCROLL;
while(!js.terminated) { while(bbs.online && !js.terminated) {
if(!last_msg) if(!last_msg)
last_msg = msgbase.last_msg; last_msg = msgbase.last_msg;
else if(msgbase.last_msg != last_msg) else if(msgbase.last_msg != last_msg)
...@@ -974,7 +974,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name) ...@@ -974,7 +974,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name)
case '\r': case '\r':
console.clear(); console.clear();
var viewed_msg = current; var viewed_msg = current;
while(!js.terminated && list[current] while(bbs.online && !js.terminated && list[current]
&& (key = view_msg(msgbase, list[current] && (key = view_msg(msgbase, list[current]
,get_msg_lines(msgbase, list[current], view_hdr, view_source, view_hex, view_wrapped) ,get_msg_lines(msgbase, list[current], view_hdr, view_source, view_hex, view_wrapped)
,orglist.length ,orglist.length
...@@ -1060,7 +1060,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name) ...@@ -1060,7 +1060,7 @@ function list_msgs(msgbase, list, current, preview, grp_name, sub_name)
case 'O': case 'O':
if(!is_operator) if(!is_operator)
break; break;
while(bbs.online) { while(bbs.online && !js.terminated) {
if(!(user.settings & USER_EXPERT)) { if(!(user.settings & USER_EXPERT)) {
console.clear(LIGHTGRAY); console.clear(LIGHTGRAY);
bbs.menu("sysmscan"); bbs.menu("sysmscan");
...@@ -1624,6 +1624,6 @@ do { ...@@ -1624,6 +1624,6 @@ do {
curmsg = msg_area.sub[msgbase.cfg.code].last_read; curmsg = msg_area.sub[msgbase.cfg.code].last_read;
else else
curmsg = userprops.last_read_mail; curmsg = userprops.last_read_mail;
} while(list_msgs(msgbase, list, curmsg, preview, grp_name, sub_name) === true); } while(list_msgs(msgbase, list, curmsg, preview, grp_name, sub_name) === true && bbs.online && !js.terminated);
userprops_lib.set(userprops_section, userprops); userprops_lib.set(userprops_section, userprops);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment