diff options
Diffstat (limited to 'cpp/src/IceUtil/Unicode.cpp')
-rw-r--r-- | cpp/src/IceUtil/Unicode.cpp | 107 |
1 files changed, 0 insertions, 107 deletions
diff --git a/cpp/src/IceUtil/Unicode.cpp b/cpp/src/IceUtil/Unicode.cpp index 14da4fb3b5a..ad6e2e659bd 100644 --- a/cpp/src/IceUtil/Unicode.cpp +++ b/cpp/src/IceUtil/Unicode.cpp @@ -129,110 +129,3 @@ IceUtilInternal::convertUTF8ToUTFWstring(const Byte*& sourceStart, const Byte* s } -// -// wstringToString and stringToWstring -// - -const char* IceUtil::UTFConversionException::_name = "IceUtil::UTFConversionException"; - -IceUtil::UTFConversionException::UTFConversionException(const char* file, int line, - ConversionError ce): - Exception(file, line), - _conversionError(ce) -{} - -string -IceUtil::UTFConversionException::ice_name() const -{ - return _name; -} - -void -IceUtil::UTFConversionException::ice_print(ostream& os) const -{ - Exception::ice_print(os); - switch(_conversionError) - { - case partialCharacter: - os << ": partial character"; - break; - case badEncoding: - os << ": bad encoding"; - break; - default: - assert(0); - break; - }; -} - -IceUtil::UTFConversionException* -IceUtil::UTFConversionException::ice_clone() const -{ - return new UTFConversionException(*this); -} - -void -IceUtil::UTFConversionException::ice_throw() const -{ - throw *this; -} - -IceUtil::ConversionError -IceUtil::UTFConversionException::conversionError() const -{ - return _conversionError; -} - - -string -IceUtil::wstringToString(const wstring& wstr, ConversionFlags flags) -{ - string target; - - size_t size = wstr.size() * 3 * (sizeof(wchar_t) / 2); - - Byte* outBuf = new Byte[size]; - Byte* targetStart = outBuf; - Byte* targetEnd = outBuf + size; - - const wchar_t* sourceStart = wstr.data(); - - ConversionResult cr = - convertUTFWstringToUTF8( - sourceStart, sourceStart + wstr.size(), - targetStart, targetEnd, flags); - - if(cr != conversionOK) - { - delete[] outBuf; - assert(cr == sourceExhausted || cr == sourceIllegal); - throw UTFConversionException(__FILE__, __LINE__, - cr == sourceExhausted ? partialCharacter : badEncoding); - } - - string s(reinterpret_cast<char*>(outBuf), - static_cast<size_t>(targetStart - outBuf)); - s.swap(target); - delete[] outBuf; - return target; -} - -wstring -IceUtil::stringToWstring(const string& str, ConversionFlags flags) -{ - wstring result; - const Byte* sourceStart = reinterpret_cast<const Byte*>(str.data()); - - ConversionResult cr - = convertUTF8ToUTFWstring(sourceStart, sourceStart + str.size(), - result, flags); - - if(cr != conversionOK) - { - assert(cr == sourceExhausted || cr == sourceIllegal); - - throw UTFConversionException(__FILE__, __LINE__, - cr == sourceExhausted ? partialCharacter : badEncoding); - } - return result; -} |