Skip to content
Snippets Groups Projects
Commit 5b62f9e2 authored by Randy Sommerfeld's avatar Randy Sommerfeld
Browse files

Shore up mode synchronization a bit

parent a3f62409
No related branches found
No related tags found
1 merge request!463MRC mods by Codefenix (2024-10-20)
Pipeline #4852 passed
...@@ -426,7 +426,7 @@ function Server_Work(cmdline) { ...@@ -426,7 +426,7 @@ function Server_Work(cmdline) {
)); ));
break; break;
} }
if (parseInt(p[0]) == j) if (parseInt(p[0]) == p[0])
p.shift(); p.shift();
if (p[0][0] == "#") { if (p[0][0] == "#") {
/* Setting a channel mode */ /* Setting a channel mode */
...@@ -439,13 +439,18 @@ function Server_Work(cmdline) { ...@@ -439,13 +439,18 @@ function Server_Work(cmdline) {
)); ));
break; break;
} }
if (!j)
j = tmp.created;
p.shift(); p.shift();
origin.set_chanmode(tmp,p); origin.set_chanmode(tmp,p);
break; break;
} }
/* Setting a user mode */ /* Setting a user mode */
if (typeof origin.setusermode !== 'function') {
umode_notice(USERMODE_OPER,"Notice",format(
"Server %s sent non-channel MODE from invalid origin.",
this.nick
));
break;
}
tmp = origin.setusermode(p[1]); tmp = origin.setusermode(p[1]);
if (tmp) { if (tmp) {
this.bcast_to_servers_raw(format( this.bcast_to_servers_raw(format(
...@@ -1475,6 +1480,17 @@ function IRCClient_server_chan_info(sni_chan) { ...@@ -1475,6 +1480,17 @@ function IRCClient_server_chan_info(sni_chan) {
var modecounter=0; var modecounter=0;
var modestr="+"; var modestr="+";
var modeargs=""; var modeargs="";
for (i in MODE) {
if (MODE[i].state && (sni_chan.mode & i))
modestr += MODE[i].modechar;
}
if (modestr != "+") {
this.ircout(format("MODE %s %s",
sni_chan.nam,
modestr
));
}
modestr = "+";
for (i in sni_chan.modelist[CHANMODE_BAN]) { for (i in sni_chan.modelist[CHANMODE_BAN]) {
modecounter++; modecounter++;
modestr += "b"; modestr += "b";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment