summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/IDN/IDNA.cpp')
-rw-r--r--Swiften/IDN/IDNA.cpp61
1 files changed, 0 insertions, 61 deletions
diff --git a/Swiften/IDN/IDNA.cpp b/Swiften/IDN/IDNA.cpp
deleted file mode 100644
index f2ac8fb..0000000
--- a/Swiften/IDN/IDNA.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2010-2012 Remko Tronçon
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include <Swiften/IDN/IDNA.h>
-
-#include <vector>
-#include <cstdlib>
-#if defined(HAVE_ICU)
-#pragma GCC diagnostic ignored "-Wold-style-cast"
-#include <Swiften/IDN/ICUConverter.h>
-#include <unicode/uidna.h>
-#elif defined(HAVE_LIBIDN)
-#include <stringprep.h>
-#include <idna.h>
-#endif
-#include <Swiften/Base/ByteArray.h>
-#include <boost/shared_ptr.hpp>
-
-namespace Swift {
-
-std::string IDNA::getEncoded(const std::string& domain) {
-#if defined(HAVE_ICU)
- UErrorCode status = U_ZERO_ERROR;
- ICUConverter converter;
-
- ICUConverter::ICUString icuInput = converter.convertToICUString(domain);
- ICUConverter::ICUString icuResult;
- icuResult.resize(icuInput.size());
- UParseError parseError;
- int icuResultLength = uidna_IDNToASCII(vecptr(icuInput), icuInput.size(), vecptr(icuResult), icuResult.size(), UIDNA_DEFAULT, &parseError, &status);
- if (status == U_BUFFER_OVERFLOW_ERROR) {
- status = U_ZERO_ERROR;
- icuResult.resize(icuResultLength);
- icuResultLength = uidna_IDNToASCII(vecptr(icuInput), icuInput.size(), vecptr(icuResult), icuResult.size(), UIDNA_DEFAULT, &parseError, &status);
- }
- if (U_FAILURE(status)) {
- return domain;
- }
- icuResult.resize(icuResultLength);
-
- return converter.convertToString(icuResult);
-
-#elif defined(HAVE_LIBIDN)
-
-
- char* output;
- if (idna_to_ascii_8z(domain.c_str(), &output, 0) == IDNA_SUCCESS) {
- std::string result(output);
- free(output);
- return result;
- }
- else {
- return domain;
- }
-#endif
-}
-
-}