diff options
author | Florent Le Coz <louiz@louiz.org> | 2015-12-28 21:25:48 +0100 |
---|---|---|
committer | Florent Le Coz <louiz@louiz.org> | 2016-01-04 13:47:26 +0100 |
commit | 79cdf170d2ab6c5378cfbf61d5c8888a4c666190 (patch) | |
tree | 931a5d2b6b3754d43d610fb28d2e452b55ee54d4 /louloulibs/xmpp | |
parent | b0c3aa0be960443b3959d0026f29f1dba18a08c3 (diff) | |
download | biboumi-79cdf170d2ab6c5378cfbf61d5c8888a4c666190.tar.gz biboumi-79cdf170d2ab6c5378cfbf61d5c8888a4c666190.tar.bz2 biboumi-79cdf170d2ab6c5378cfbf61d5c8888a4c666190.tar.xz biboumi-79cdf170d2ab6c5378cfbf61d5c8888a4c666190.zip |
Use the configured encoding value when decoding received messages
Diffstat (limited to 'louloulibs/xmpp')
-rw-r--r-- | louloulibs/xmpp/xmpp_stanza.cpp | 16 | ||||
-rw-r--r-- | louloulibs/xmpp/xmpp_stanza.hpp | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/louloulibs/xmpp/xmpp_stanza.cpp b/louloulibs/xmpp/xmpp_stanza.cpp index f247436..407e631 100644 --- a/louloulibs/xmpp/xmpp_stanza.cpp +++ b/louloulibs/xmpp/xmpp_stanza.cpp @@ -84,6 +84,14 @@ std::string xml_unescape(const std::string& data) return res; } +std::string sanitize(const std::string& data, const std::string& encoding) +{ + if (utils::is_valid_utf8(data.data())) + return xml_escape(utils::remove_invalid_xml_chars(data)); + else + return xml_escape(utils::remove_invalid_xml_chars(utils::convert_to_utf8(data, encoding.data()))); +} + XmlNode::XmlNode(const std::string& name, XmlNode* parent): parent(parent) { @@ -259,14 +267,6 @@ std::string& XmlNode::operator[](const std::string& name) return this->attributes[name]; } -std::string sanitize(const std::string& data) -{ - if (utils::is_valid_utf8(data.data())) - return xml_escape(utils::remove_invalid_xml_chars(data)); - else - return xml_escape(utils::remove_invalid_xml_chars(utils::convert_to_utf8(data, "ISO-8859-1"))); -} - std::ostream& operator<<(std::ostream& os, const XmlNode& node) { return os << node.to_string(); diff --git a/louloulibs/xmpp/xmpp_stanza.hpp b/louloulibs/xmpp/xmpp_stanza.hpp index bdc937f..77ab206 100644 --- a/louloulibs/xmpp/xmpp_stanza.hpp +++ b/louloulibs/xmpp/xmpp_stanza.hpp @@ -8,7 +8,7 @@ std::string xml_escape(const std::string& data); std::string xml_unescape(const std::string& data); -std::string sanitize(const std::string& data); +std::string sanitize(const std::string& data, const std::string& encoding = "ISO-8859-1"); /** * Represent an XML node. It has |