summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/network/network_server.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/network/network_server.cpp b/src/network/network_server.cpp
index fecaa2e00..c506f60a4 100644
--- a/src/network/network_server.cpp
+++ b/src/network/network_server.cpp
@@ -1541,13 +1541,12 @@ static void NetworkAutoCleanCompanies()
bool NetworkMakeClientNameUnique(std::string &name)
{
bool is_name_unique = false;
- uint number = 0;
std::string original_name = name;
- while (!is_name_unique) {
+ for (uint number = 1; !is_name_unique && number <= MAX_CLIENTS; number++) { // Something's really wrong when there're more names than clients
is_name_unique = true;
for (const NetworkClientInfo *ci : NetworkClientInfo::Iterate()) {
- if (ci->client_name.compare(name) == 0) {
+ if (ci->client_name == name) {
/* Name already in use */
is_name_unique = false;
break;
@@ -1556,7 +1555,7 @@ bool NetworkMakeClientNameUnique(std::string &name)
/* Check if it is the same as the server-name */
const NetworkClientInfo *ci = NetworkClientInfo::GetByClientID(CLIENT_ID_SERVER);
if (ci != nullptr) {
- if (ci->client_name.compare(name) == 0) is_name_unique = false; // name already in use
+ if (ci->client_name == name) is_name_unique = false; // name already in use
}
if (!is_name_unique) {