diff options
author | Adam <Adam@anope.org> | 2011-02-25 21:56:00 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2011-02-25 21:56:00 -0500 |
commit | 0d1a0e8db94cdbffbf72a90800c327e6e42aa8b4 (patch) | |
tree | 70d24c7d8d523c70c34c37efadb6d8be8092026e | |
parent | b9fb2f8e638a95398330c9dfe56102a858f4a2da (diff) |
Fixed tracking umodes on bahamut and fjoins on inspircd11
-rw-r--r-- | modules/protocol/bahamut.cpp | 13 | ||||
-rw-r--r-- | modules/protocol/inspircd11.cpp | 4 |
2 files changed, 10 insertions, 7 deletions
diff --git a/modules/protocol/bahamut.cpp b/modules/protocol/bahamut.cpp index 70dffb8ce..ed0695ba8 100644 --- a/modules/protocol/bahamut.cpp +++ b/modules/protocol/bahamut.cpp @@ -450,7 +450,11 @@ bool event_nick(const Anope::string &source, const std::vector<Anope::string> &p if (params.size() != 2) { - user = do_nick(source, params[0], params[4], params[5], params[6], params[9], Anope::string(params[2]).is_pos_number_only() ? convertTo<time_t>(params[2]) : 0, params[8], "", "", params[3]); + /* Currently bahamut has no ipv6 support */ + sockaddrs ip; + ip.ntop(AF_INET, params[8].c_str()); + + user = do_nick(source, params[0], params[4], params[5], params[6], params[9], Anope::string(params[2]).is_pos_number_only() ? convertTo<time_t>(params[2]) : 0, ip.addr(), "", "", params[3]); if (user) { NickAlias *na; @@ -585,12 +589,9 @@ bool event_quit(const Anope::string &source, const std::vector<Anope::string> &p /* EVENT: MODE */ bool event_mode(const Anope::string &source, const std::vector<Anope::string> ¶ms) { - if (params.size() < 3) - return true; - - if (params[0][0] == '#' || params[0][0] == '&') + if (params.size() > 2 && (params[0][0] == '#' || params[0][0] == '&')) do_cmode(source, params[0], params[2], params[1]); - else + else if (params.size() > 1) do_umode(source, params[0], params[1]); return true; } diff --git a/modules/protocol/inspircd11.cpp b/modules/protocol/inspircd11.cpp index 7d1d456ac..c58630fab 100644 --- a/modules/protocol/inspircd11.cpp +++ b/modules/protocol/inspircd11.cpp @@ -433,6 +433,8 @@ bool event_fjoin(const Anope::string &source, const std::vector<Anope::string> & if (keep_their_modes) Status.push_back(cm); } + /* Erase the , */ + buf.erase(buf.begin()); User *u = finduser(buf); if (!u) @@ -887,7 +889,7 @@ bool event_capab(const Anope::string &source, const std::vector<Anope::string> & } } } - else if (capab.find("PREIX=(") != Anope::string::npos) + else if (capab.find("PREFIX=(") != Anope::string::npos) { Anope::string modes(capab.begin() + 8, capab.begin() + capab.find(')')); Anope::string chars(capab.begin() + capab.find(')') + 1, capab.end()); |