diff options
Diffstat (limited to 'Swiften/Network/DomainNameResolver.cpp')
-rw-r--r-- | Swiften/Network/DomainNameResolver.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/Swiften/Network/DomainNameResolver.cpp b/Swiften/Network/DomainNameResolver.cpp index 907dfc9..63ed881 100644 --- a/Swiften/Network/DomainNameResolver.cpp +++ b/Swiften/Network/DomainNameResolver.cpp @@ -1,8 +1,22 @@ #include "Swiften/Network/DomainNameResolver.h" +#include <idna.h> + namespace Swift { DomainNameResolver::~DomainNameResolver() { } +String DomainNameResolver::getNormalized(const String& domain) { + char* output; + if (idna_to_ascii_8z(domain.getUTF8Data(), &output, 0) == IDNA_SUCCESS) { + String result(output); + free(output); + return result; + } + else { + return domain; + } +} + } |