aboutsummaryrefslogtreecommitdiff
path: root/src/aopacket.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/aopacket.cpp')
-rw-r--r--src/aopacket.cpp27
1 files changed, 18 insertions, 9 deletions
diff --git a/src/aopacket.cpp b/src/aopacket.cpp
index a40d2ef7..8f4a6e36 100644
--- a/src/aopacket.cpp
+++ b/src/aopacket.cpp
@@ -12,25 +12,34 @@ QString AOPacket::to_string(bool encoded)
{
QStringList contents = m_contents;
if (encoded)
- contents.replaceInStrings("#", "<num>")
- .replaceInStrings("%", "<percent>")
- .replaceInStrings("$", "<dollar>")
- .replaceInStrings("&", "<and>");
+ escape(contents);
return m_header + "#" + contents.join("#") + "#%";
}
void AOPacket::net_encode()
{
- m_contents.replaceInStrings("#", "<num>")
- .replaceInStrings("%", "<percent>")
- .replaceInStrings("$", "<dollar>")
- .replaceInStrings("&", "<and>");
+ escape(m_contents);
}
void AOPacket::net_decode()
{
- m_contents.replaceInStrings("<num>", "#")
+ unescape(m_contents);
+}
+
+void AOPacket::escape(QStringList &contents)
+{
+ contents.replaceInStrings("#", "<num>")
+ .replaceInStrings("%", "<percent>")
+ .replaceInStrings("$", "<dollar>")
+ .replaceInStrings("&", "<and>");
+
+}
+
+void AOPacket::unescape(QStringList &contents)
+{
+ contents.replaceInStrings("<num>", "#")
.replaceInStrings("<percent>", "%")
.replaceInStrings("<dollar>", "$")
.replaceInStrings("<and>", "&");
+
}