diff options
| author | 2006-08-30 19:53:28 +0000 | |
|---|---|---|
| committer | 2006-08-30 19:53:28 +0000 | |
| commit | b2e74e4ea7f1e6f85bd85d247a2db78d3dc315bd (patch) | |
| tree | 1b2f2ea79631ac54e3e2966be4d5a6617fc738d2 | |
| 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.cpp | 8 |
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; |
