]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_alias.cpp
Add new cross-module event system
[user/henk/code/inspircd.git] / src / modules / m_alias.cpp
index 9055a8bf829d23bde263771ecbe44533ed8bc6d4..5b3979179bc0d39e665ea710693cbea277bc1a60 100644 (file)
@@ -63,7 +63,7 @@ class ModuleAlias : public Module
         * We can, however, use a fancy invention: the multimap. Maps a key to one or more values.
         *              -- w00t
      */
-       typedef std::multimap<std::string, Alias, irc::insensitive_swo> AliasMap;
+       typedef insp::flat_multimap<std::string, Alias, irc::insensitive_swo> AliasMap;
 
        AliasMap Aliases;
 
@@ -148,7 +148,7 @@ class ModuleAlias : public Module
                        return MOD_RES_PASSTHRU;
 
                /* The parameters for the command in their original form, with the command stripped off */
-               std::string compare = original_line.substr(command.length());
+               std::string compare(original_line, command.length());
                while (*(compare.c_str()) == ' ')
                        compare.erase(compare.begin());
 
@@ -212,7 +212,7 @@ class ModuleAlias : public Module
                        return;
 
                /* The parameters for the command in their original form, with the command stripped off */
-               std::string compare = text.substr(scommand.length() + 1);
+               std::string compare(text, scommand.length() + 1);
                while (*(compare.c_str()) == ' ')
                        compare.erase(compare.begin());
 
@@ -302,28 +302,28 @@ class ModuleAlias : public Module
                                        result.append(GetVar(var, original_line));
                                        i += len - 1;
                                }
-                               else if (newline.substr(i, 5) == "$nick")
+                               else if (!newline.compare(i, 5, "$nick", 5))
                                {
                                        result.append(user->nick);
                                        i += 4;
                                }
-                               else if (newline.substr(i, 5) == "$host")
+                               else if (!newline.compare(i, 5, "$host", 5))
                                {
                                        result.append(user->host);
                                        i += 4;
                                }
-                               else if (newline.substr(i, 5) == "$chan")
+                               else if (!newline.compare(i, 5, "$chan", 5))
                                {
                                        if (chan)
                                                result.append(chan->name);
                                        i += 4;
                                }
-                               else if (newline.substr(i, 6) == "$ident")
+                               else if (!newline.compare(i, 6, "$ident", 6))
                                {
                                        result.append(user->ident);
                                        i += 5;
                                }
-                               else if (newline.substr(i, 6) == "$vhost")
+                               else if (!newline.compare(i, 6, "$vhost", 6))
                                {
                                        result.append(user->dhost);
                                        i += 5;
@@ -344,7 +344,7 @@ class ModuleAlias : public Module
                {
                        pars.push_back(token);
                }
-               ServerInstance->Parser->CallHandler(command, pars, user);
+               ServerInstance->Parser.CallHandler(command, pars, user);
        }
 
        void Prioritize()