diff options
author | Adam <Adam@anope.org> | 2015-01-05 16:31:09 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2015-01-05 19:00:51 -0500 |
commit | d79d8e2608e304760c42bdf87502e3bc51781b88 (patch) | |
tree | 179913b8b328f88d52d84c3453fceb28a2d63422 /src/protocol.cpp | |
parent | 8ab1c71d7dc7a0d47e5711dc72e3fc9c3ee850bb (diff) | |
parent | c46ec39e5088119cd21f5f7e16e64e61a876ca20 (diff) |
Merge branch '2.0' into 2.1
Conflicts:
CMakeLists.txt
include/modules.h
include/serialize.h
modules/commands/bs_assign.cpp
modules/commands/bs_badwords.cpp
modules/commands/bs_bot.cpp
modules/commands/bs_control.cpp
modules/commands/bs_kick.cpp
modules/commands/cs_access.cpp
modules/commands/cs_akick.cpp
modules/commands/cs_drop.cpp
modules/commands/cs_entrymsg.cpp
modules/commands/cs_flags.cpp
modules/commands/cs_info.cpp
modules/commands/cs_invite.cpp
modules/commands/cs_kick.cpp
modules/commands/cs_mode.cpp
modules/commands/cs_register.cpp
modules/commands/cs_seen.cpp
modules/commands/cs_set.cpp
modules/commands/cs_suspend.cpp
modules/commands/cs_topic.cpp
modules/commands/cs_unban.cpp
modules/commands/cs_xop.cpp
modules/commands/hs_del.cpp
modules/commands/hs_list.cpp
modules/commands/hs_request.cpp
modules/commands/ms_ignore.cpp
modules/commands/ms_send.cpp
modules/commands/ns_recover.cpp
modules/commands/ns_register.cpp
modules/commands/ns_suspend.cpp
modules/commands/os_dns.cpp
modules/commands/os_noop.cpp
modules/commands/os_oper.cpp
modules/commands/os_session.cpp
modules/database/db_sql_live.cpp
modules/encryption/enc_bcrypt.cpp
modules/extra/m_ldap_authentication.cpp
modules/extra/m_ldap_oper.cpp
modules/fantasy.cpp
modules/m_dnsbl.cpp
modules/m_sasl.cpp
modules/protocol/hybrid.cpp
modules/protocol/inspircd20.cpp
modules/protocol/unreal.cpp
modules/pseudoclients/chanserv.cpp
modules/pseudoclients/nickserv.cpp
modules/webcpanel/pages/chanserv/access.cpp
modules/webcpanel/webcpanel.cpp
modules/webcpanel/webcpanel.h
src/command.cpp
src/messages.cpp
src/modulemanager.cpp
src/regchannel.cpp
src/serialize.cpp
Diffstat (limited to 'src/protocol.cpp')
-rw-r--r-- | src/protocol.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/protocol.cpp b/src/protocol.cpp index d0cb5df68..f71b3f8b5 100644 --- a/src/protocol.cpp +++ b/src/protocol.cpp @@ -45,14 +45,17 @@ const Anope::string &IRCDProto::GetProtocolName() return this->proto_name; } -static inline char& nextID(char &c) +static inline char nextID(int pos, Anope::string &buf) { + char &c = buf[pos]; if (c == 'Z') c = '0'; else if (c != '9') ++c; - else + else if (pos) c = 'A'; + else + c = '0'; return c; } @@ -66,7 +69,7 @@ Anope::string IRCDProto::UID_Retrieve() do { int current_len = current_uid.length() - 1; - while (current_len >= 0 && nextID(current_uid[current_len--]) == 'A'); + while (current_len >= 0 && nextID(current_len--, current_uid) == 'A'); } while (User::Find(Me->GetSID() + current_uid) != NULL); @@ -85,7 +88,7 @@ Anope::string IRCDProto::SID_Retrieve() do { int current_len = current_sid.length() - 1; - while (current_len >= 0 && nextID(current_sid[current_len--]) == 'A'); + while (current_len >= 0 && nextID(current_len--, current_sid) == 'A'); } while (Server::Find(current_sid) != NULL); |