diff options
Diffstat (limited to 'src/utils')
-rw-r--r-- | src/utils/chatutils.cpp | 16 | ||||
-rw-r--r-- | src/utils/stringutils_unittest.cc | 2 |
2 files changed, 13 insertions, 5 deletions
diff --git a/src/utils/chatutils.cpp b/src/utils/chatutils.cpp index 3ad6c8a1f..d80e8d761 100644 --- a/src/utils/chatutils.cpp +++ b/src/utils/chatutils.cpp @@ -146,12 +146,16 @@ void replaceVars(std::string &str) if (*it != localPlayer->getName()) newStr.append(*it).append(","); } - if (newStr[newStr.size() - 1] == ',') - newStr = newStr.substr(0, newStr.size() - 1); if (!newStr.empty()) + { + if (newStr[newStr.size() - 1] == ',') + newStr = newStr.substr(0, newStr.size() - 1); replaceAll(str, "<PEOPLE>", newStr); + } else + { replaceAll(str, "<PEOPLE>", ""); + } } if (str.find("<PARTY>") != std::string::npos) { @@ -167,12 +171,16 @@ void replaceVars(std::string &str) if (*it != localPlayer->getName()) newStr.append(*it).append(","); } - if (newStr[newStr.size() - 1] == ',') - newStr = newStr.substr(0, newStr.size() - 1); if (!newStr.empty()) + { + if (newStr[newStr.size() - 1] == ',') + newStr = newStr.substr(0, newStr.size() - 1); replaceAll(str, "<PARTY>", newStr); + } else + { replaceAll(str, "<PARTY>", ""); + } } else { diff --git a/src/utils/stringutils_unittest.cc b/src/utils/stringutils_unittest.cc index cc1b2da69..2af7b7939 100644 --- a/src/utils/stringutils_unittest.cc +++ b/src/utils/stringutils_unittest.cc @@ -781,7 +781,7 @@ TEST_CASE("stringuntils splitToIntVector 1") splitToIntVector(tokens, "10,,30", ','); REQUIRE(tokens.size() == 2); REQUIRE(tokens[0] == 10); - REQUIRE(tokens[2] == 30); + REQUIRE(tokens[1] == 30); tokens.clear(); splitToIntVector(tokens, "10,2;30", ','); |