diff options
Diffstat (limited to 'src/servers.cpp')
-rw-r--r-- | src/servers.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/servers.cpp b/src/servers.cpp index a3403fc45..7699e64ca 100644 --- a/src/servers.cpp +++ b/src/servers.cpp @@ -368,11 +368,12 @@ const Anope::string Servers::TS6_UID_Retrieve() static Anope::string current_uid = "AAAAAA"; - while (User::Find(Me->GetSID() + current_uid) != NULL) + do { int current_len = current_uid.length() - 1; while (current_len >= 0 && nextID(current_uid[current_len--]) == 'A'); } + while (User::Find(Me->GetSID() + current_uid) != NULL); return Me->GetSID() + current_uid; } @@ -386,11 +387,12 @@ const Anope::string Servers::TS6_SID_Retrieve() if (current_sid.empty()) current_sid = "00A"; - while (Server::Find(current_sid) != NULL) + do { int current_len = current_sid.length() - 1; while (current_len >= 0 && nextID(current_sid[current_len--]) == 'A'); } + while (Server::Find(current_sid) != NULL); return current_sid; } |