[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Suggestion for ircnet-ircd



Hello,

Why function actually no old modes together with new modes in a line?
example: /mode #testerl +be *!*test1@* *!*test2@* effects a
Testerl!^testerl@localhost MODE #testerl +b *!*test1@*
so exempt became ignores.
example: /mode #testerl +eb *!*test3@* *!*test4@* effects a
Testerl!^testerl@localhost MODE #testerl +e *!*test3@*
so ban became ignores.
My Suggestion is, that times unto change the old and new modes in a 
line work.
Lest unto long sought will must enclosed a patch of to the I think 
cause would, but still unto irc2.10.0p5.

Greeting Eule

diff -bruN irc2.10.0p5/ircd/channel.c ircdneu/ircd/channel.c
--- irc2.10.0p5/ircd/channel.c	Wed Oct 28 17:31:06 1998
+++ ircdneu/ircd/channel.c	Sun Aug 15 18:14:45 1999
@@ -944,7 +944,7 @@
 	aClient *who;
 	Mode	*mode, oldm;
 	Link	*plp = NULL;
-	int	compat = -1; /* to prevent mixing old/new modes */
+	/* int	compat = -1; *//* to prevent mixing old/new modes */
 
 	*mbuf = *pbuf = '\0';
 	if (parc < 1)
@@ -957,11 +957,11 @@
 
 	while (curr && *curr && count >= 0)
 	    {
-		if (compat == -1 && *curr != '-' && *curr != '+')
+		/* if (compat == -1 && *curr != '-' && *curr != '+')
 			if (*curr == 'e' || *curr == 'I')
 				compat = 1;
 			else
-				compat = 0;
+				compat = 0; */
 		switch (*curr)
 		{
 		case '+':
@@ -1384,14 +1384,14 @@
 		 * Make sure old and new (+e/+I) modes won't get mixed
 		 * together on the same line
 		 */
-		if (MyClient(sptr) && curr && *curr != '-' && *curr != '+')
+		/* if (MyClient(sptr) && curr && *curr != '-' && *curr != '+')
 			if (*curr == 'e' || *curr == 'I')
 			    {
 				if (compat == 0)
 					*curr = '\0';
 			    }
 			else if (compat == 1)
-				*curr = '\0';
+				*curr = '\0'; */
 	    } /* end of while loop for MODE processing */
 
 	whatt = 0;