summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-02-25 21:56:00 -0500
committerAdam <Adam@anope.org>2011-02-25 21:56:00 -0500
commit0d1a0e8db94cdbffbf72a90800c327e6e42aa8b4 (patch)
tree70d24c7d8d523c70c34c37efadb6d8be8092026e
parentb9fb2f8e638a95398330c9dfe56102a858f4a2da (diff)
Fixed tracking umodes on bahamut and fjoins on inspircd11
-rw-r--r--modules/protocol/bahamut.cpp13
-rw-r--r--modules/protocol/inspircd11.cpp4
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> &params)
{
- 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());