diff options
Diffstat (limited to 'src/modules/m_redirect.cpp')
-rw-r--r-- | src/modules/m_redirect.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/modules/m_redirect.cpp b/src/modules/m_redirect.cpp index 7b4fe81de..e81864565 100644 --- a/src/modules/m_redirect.cpp +++ b/src/modules/m_redirect.cpp @@ -55,6 +55,25 @@ class ModuleRedirect : public Module } return 0; } + + virtual void On005Numeric(std::string &output) + { + std::stringstream line(output); + std::string temp1, temp2; + while (!line.eof()) + { + line >> temp1; + if (temp1.substr(0,10) == "CHANMODES=") + { + // By doing this we're *assuming* no other module has fucked up the CHANMODES= + // section of the 005 numeric. If they have, we're going DOWN in a blaze of glory, + // with a honking great EXCEPTION :) + temp1.insert(temp1.find(",")+1,"L"); + } + temp2 = temp2 + temp1 + " "; + } + output = temp2.substr(0,temp2.length()-1); + } virtual int OnUserPreJoin(userrec* user, chanrec* chan, const char* cname) { |