summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar brain2006-08-30 19:53:28 +0000
committerGravatar brain2006-08-30 19:53:28 +0000
commitb2e74e4ea7f1e6f85bd85d247a2db78d3dc315bd (patch)
tree1b2f2ea79631ac54e3e2966be4d5a6617fc738d2
parent....And i now own all of Special's worldly wealth. (diff)
Fix for parameters which contain a colon (which is not the first item in the list)
git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@5083 e03df62e-2008-0410-955e-edbf42e46eb7
-rw-r--r--src/mode.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/mode.cpp b/src/mode.cpp
index ae907d965..0f280cfce 100644
--- a/src/mode.cpp
+++ b/src/mode.cpp
@@ -611,7 +611,7 @@ void ModeParser::ProcessModes(char **parameters,userrec* user,chanrec *chan,int
case 'b':
if ((param >= pcnt)) break;
- if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':')))
+ if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':') == parameters[param]))
break;
r = NULL;
if (mdir == 1)
@@ -661,7 +661,7 @@ void ModeParser::ProcessModes(char **parameters,userrec* user,chanrec *chan,int
FOREACH_RESULT(I_OnRawMode,OnRawMode(user, chan, 'k', parameters[param], true, 1));
if (!MOD_RESULT)
{
- if ((*parameters[param]) && (!strchr(parameters[param],' ')) && (!strchr(parameters[param],':')))
+ if ((*parameters[param]) && (!strchr(parameters[param],' ')) && (strchr(parameters[param],':') != parameters[param]))
{
*outl++ = 'k';
char key[MAXBUF];
@@ -916,7 +916,7 @@ void ModeParser::ProcessModes(char **parameters,userrec* user,chanrec *chan,int
{
if ((ModeDefinedOn(*modechar,MT_CHANNEL)>0) && (mdir))
{
- if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':')))
+ if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':') == parameters[param]))
{
log(DEBUG,"Gank, broken mode!");
break;
@@ -925,7 +925,7 @@ void ModeParser::ProcessModes(char **parameters,userrec* user,chanrec *chan,int
}
if ((ModeDefinedOff(*modechar,MT_CHANNEL)>0) && (!mdir))
{
- if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':')))
+ if ((!*parameters[param]) || (strchr(parameters[param],' ')) || (strchr(parameters[param],':') == parameters[param]))
{
log(DEBUG,"Gank, broken mode!");
break;