summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDavid Athay <ko2fan@gmail.com>2009-04-13 14:48:07 +0100
committerDavid Athay <ko2fan@gmail.com>2009-04-13 14:48:07 +0100
commiteffc112bed400d632368ca633d8a6600ea8c8aae (patch)
tree794f9d826e2bc3a3df6ac0796856e7d6bb8f6b17 /src
parentd8e3acb5253eb01231136b131e5b156034aaa7a9 (diff)
downloadmana-effc112bed400d632368ca633d8a6600ea8c8aae.tar.gz
mana-effc112bed400d632368ca633d8a6600ea8c8aae.tar.bz2
mana-effc112bed400d632368ca633d8a6600ea8c8aae.tar.xz
mana-effc112bed400d632368ca633d8a6600ea8c8aae.zip
Fixed @'s in a user's nick
Diffstat (limited to 'src')
-rw-r--r--src/gui/widgets/chattab.cpp3
-rw-r--r--src/utils/stringutils.cpp13
-rw-r--r--src/utils/stringutils.h8
3 files changed, 24 insertions, 0 deletions
diff --git a/src/gui/widgets/chattab.cpp b/src/gui/widgets/chattab.cpp
index 1879a918..bbf71e83 100644
--- a/src/gui/widgets/chattab.cpp
+++ b/src/gui/widgets/chattab.cpp
@@ -163,6 +163,9 @@ void ChatTab::chatLog(std::string line, int own, bool ignoreRecord)
tmp.nick = "";
lineColor = "##S";
}
+
+ // check for @, # or [ in nick
+ tmp.nick = removeBadChars(tmp.nick);
#ifdef EATHENA_SUPPORT
if (tmp.nick.empty() && tmp.text.substr(0, 17) == "Visible GM status")
diff --git a/src/utils/stringutils.cpp b/src/utils/stringutils.cpp
index 6a88a12e..2f9bc9a8 100644
--- a/src/utils/stringutils.cpp
+++ b/src/utils/stringutils.cpp
@@ -61,3 +61,16 @@ const char *ipToString(int address)
return asciiIP;
}
+
+std::string &removeBadChars(std::string &str)
+{
+ std::string::size_type pos;
+ do
+ {
+ pos = str.find_first_of("@#[]");
+ if (pos != std::string::npos)
+ str.erase(pos, 1);
+ } while (pos != std::string::npos);
+
+ return str;
+}
diff --git a/src/utils/stringutils.h b/src/utils/stringutils.h
index 8b8b7bc2..872a8f52 100644
--- a/src/utils/stringutils.h
+++ b/src/utils/stringutils.h
@@ -65,4 +65,12 @@ template<typename T> std::string toString(const T &arg)
*/
const char *ipToString(int address);
+/**
+ * Removes bad characters from a string
+ *
+ * @param str the string to remove the bad chars from
+ * @return a reference to the string without bad chars
+ */
+std::string &removeBadChars(std::string &str);
+
#endif // UTILS_STRINGUTILS_H