From 7d9483c6b23115b0a2f3693ce2d167a1d050bf9e Mon Sep 17 00:00:00 2001
From: cyan <>
Date: Thu, 4 Dec 2003 20:55:21 +0000
Subject: [PATCH] Fixing problems with the last commit (dunno what happened,
 there.)

---
 exec/ircd.js | 51 +++++++++++++++++++++++++++++----------------------
 1 file changed, 29 insertions(+), 22 deletions(-)

diff --git a/exec/ircd.js b/exec/ircd.js
index 6cf8faf331..461bbaac2e 100644
--- a/exec/ircd.js
+++ b/exec/ircd.js
@@ -3152,26 +3152,6 @@ function IRCClient_setusermode(modestr) {
 		return 0;
 	var final_modestr = "";
 	var bcast_modestr = "";
-	if (addmodes)
-		final_modestr += "+" + addmodes;
-	if (delmodes)
-		final_modestr += "-" + delmodes;
-	if (bcast_addmodes)
-		bcast_modestr += "+" + bcast_addmodes;
-	if (bcast_delmodes)
-		bcast_modestr += "-" + bc|= USERMODE_CHAR[mym];
-		} else if ((umode.del_flags&USERMODE_CHAR[mym]) &&
-		    (this.mode&USERMODE_CHAR[mym])) {
-			delmodes += mym;
-			if (USERMODE_BCAST[mym])
-				bcast_delmodes += mym;
-			this.mode &= ~USERMODE_CHAR[mym];
-		}
-	}
-	if (!addmodes && !delmodes)
-		return 0;
-	var final_modestr = "";
-	var bcast_modestr = "";
 	if (addmodes)
 		final_modestr += "+" + addmodes;
 	if (delmodes)
@@ -3180,7 +3160,7 @@ function IRCClient_setusermode(modestr) {
 		bcast_modestr += "+" + bcast_addmodes;
 	if (bcast_delmodes)
 		bcast_modestr += "-" + bcast_delmodes;
-	if (!this.parent) {
+	if (!this.local) {
 		this.originatorout("MODE "+this.nick+" "+final_modestr,this);
 		if (bcast_addmodes || bcast_delmodes)
 			this.bcast_to_servers("MODE "+this.nick+" "+bcast_modestr,this);
@@ -3275,4 +3255,31 @@ function YLine(pingfreq,connfreq,maxlinks,sendq) {
 	this.pingfreq = pingfreq;
 	this.connfreq = connfreq;
 	this.maxlinks = maxlinks;
-	this.sendq = s
\ No newline at end of file
+	this.sendq = sendq;
+}
+
+function ZLine(ipmask,reason) {
+	this.ipmask = ipmask;
+	this.reason = reason;
+}
+
+function WhoWas(nick,uprefix,host,realname,server,serverdesc) {
+	this.nick = nick;
+	this.uprefix = uprefix;
+	this.host = host;
+	this.realname = realname;
+	this.server = server;
+	this.serverdesc = serverdesc;
+}
+
+function NickBuf(oldnick,newnick) {
+	this.oldnick = oldnick;
+	this.newnick = newnick;
+}
+
+// used for tracking true SJOIN nicks.
+function SJOIN_Nick(nick,isop,isvoice) {
+	this.nick = nick;
+	this.isop = isop;
+	this.isvoice = isvoice;
+}
-- 
GitLab