summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chatlogger.cpp26
-rw-r--r--src/chatlogger.h2
2 files changed, 19 insertions, 9 deletions
diff --git a/src/chatlogger.cpp b/src/chatlogger.cpp
index e126b0ef..904da133 100644
--- a/src/chatlogger.cpp
+++ b/src/chatlogger.cpp
@@ -124,17 +124,27 @@ std::string ChatLogger::getDateString() const
return date;
}
-std::string ChatLogger::secureName(std::string &name) const
+std::string ChatLogger::secureName(std::string &name)
{
- for (char & f : name)
+ const size_t sz = name.length();
+ for (size_t f = 0; f < sz; f ++)
{
- if (f < '0' && f > '9' && f < 'a' && f > 'z'
- && f < 'A' && f > 'Z'
- && f != '-' && f != '+' && f != '='
- && f != '.' && f != ','&& f != ')'
- && f != '(' && f != '[' && f != ')')
+ const unsigned char ch = name[f];
+ if ((ch < '0' || ch > '9') &&
+ (ch < 'a' || ch > 'z') &&
+ (ch < 'A' || ch > 'Z') &&
+ ch != '-' &&
+ ch != '+' &&
+ ch != '=' &&
+ ch != '.' &&
+ ch != ',' &&
+ ch != ')' &&
+ ch != '(' &&
+ ch != '[' &&
+ ch != ']' &&
+ ch != '#')
{
- f = '_';
+ name[f] = '_';
}
}
return name;
diff --git a/src/chatlogger.h b/src/chatlogger.h
index de7d17d8..e9e53798 100644
--- a/src/chatlogger.h
+++ b/src/chatlogger.h
@@ -45,7 +45,7 @@ class ChatLogger
std::string getDateString() const;
- std::string secureName(std::string &str) const;
+ static std::string secureName(std::string &str);
void setServerName(const std::string &serverName);