From 6b46d12558fa18a89e57bc63902cf849e982bc41 Mon Sep 17 00:00:00 2001 From: Date: Sun, 17 Dec 2017 00:39:27 +0100 Subject: [PATCH] added ParseTagString code --- src/util/irchelpers.hpp | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/src/util/irchelpers.hpp b/src/util/irchelpers.hpp index c8ba2848..353707fe 100644 --- a/src/util/irchelpers.hpp +++ b/src/util/irchelpers.hpp @@ -7,10 +7,38 @@ namespace chatterino { QString ParseTagString(const QString &input) { QString output = input; + output.detach(); - // code goes here + bool changed = false; - return output; + for (int i = 0; i < output.length() - 1; i++) { + if (output[i] == '\\') { + QChar c = output[i + 1]; + + if (c == 'n') { + output[i] == '\n'; + } else if (c == 'r') { + output[i] == '\r'; + } else if (c == 's') { + output[i] == ' '; + } else if (c == '\\') { + output[i] == '\\'; + } else if (c == ':') { + output[i] == ';'; + } else { + output[i] = output[i + 1]; + } + output[i + 1] = '\0'; + changed = true; + i++; + } + } + + if (changed) { + return output.replace("\0", ""); + } else { + return output; + } } } // namespace chatterino