diff options
Diffstat (limited to 'Swiften/JID/JID.cpp')
| -rw-r--r-- | Swiften/JID/JID.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Swiften/JID/JID.cpp b/Swiften/JID/JID.cpp index a31c19f..fff88e9 100644 --- a/Swiften/JID/JID.cpp +++ b/Swiften/JID/JID.cpp | |||
| @@ -111,7 +111,12 @@ void JID::nameprepAndSetComponents(const std::string& node, const std::string& d | |||
| 111 | 111 | ||
| 112 | try { | 112 | try { |
| 113 | node_ = idnConverter->getStringPrepared(node, IDNConverter::XMPPNodePrep); | 113 | node_ = idnConverter->getStringPrepared(node, IDNConverter::XMPPNodePrep); |
| 114 | domain_ = idnConverter->getStringPrepared(domain, IDNConverter::NamePrep); | 114 | if (domain.back() == '.') { |
| 115 | domain_ = idnConverter->getStringPrepared(domain.substr(0, domain.size() - 1), IDNConverter::NamePrep); | ||
| 116 | } | ||
| 117 | else { | ||
| 118 | domain_ = idnConverter->getStringPrepared(domain, IDNConverter::NamePrep); | ||
| 119 | } | ||
| 115 | resource_ = idnConverter->getStringPrepared(resource, IDNConverter::XMPPResourcePrep); | 120 | resource_ = idnConverter->getStringPrepared(resource, IDNConverter::XMPPResourcePrep); |
| 116 | } catch (...) { | 121 | } catch (...) { |
| 117 | valid_ = false; | 122 | valid_ = false; |
Swift