summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/StringConverter.cpp9
-rw-r--r--cpp/src/IceUtil/ConvertUTF.h8
-rw-r--r--cpp/src/IceUtil/Unicode.cpp24
3 files changed, 23 insertions, 18 deletions
diff --git a/cpp/src/Ice/StringConverter.cpp b/cpp/src/Ice/StringConverter.cpp
index 1e750a88e1d..e9b6068b9ba 100644
--- a/cpp/src/Ice/StringConverter.cpp
+++ b/cpp/src/Ice/StringConverter.cpp
@@ -20,6 +20,11 @@ using namespace std;
namespace Ice
{
+UnicodeWstringConverter::UnicodeWstringConverter(ConversionFlags flags) :
+ _conversionFlags(flags)
+{
+}
+
Byte*
UnicodeWstringConverter::toUTF8(const wchar_t* sourceStart,
const wchar_t* sourceEnd,
@@ -38,7 +43,7 @@ UnicodeWstringConverter::toUTF8(const wchar_t* sourceStart,
while((result =
convertUTFWstringToUTF8(sourceStart, sourceEnd,
- targetStart, targetEnd, lenientConversion))
+ targetStart, targetEnd, _conversionFlags))
== targetExhausted)
{
targetStart = buffer.getMoreBytes(chunkSize, targetStart);
@@ -74,7 +79,7 @@ UnicodeWstringConverter::fromUTF8(const Byte* sourceStart, const Byte* sourceEnd
}
ConversionResult result =
- convertUTF8ToUTFWstring(sourceStart, sourceEnd, target, lenientConversion);
+ convertUTF8ToUTFWstring(sourceStart, sourceEnd, target, _conversionFlags);
switch(result)
{
diff --git a/cpp/src/IceUtil/ConvertUTF.h b/cpp/src/IceUtil/ConvertUTF.h
index 40973ac0e84..89c047b84ee 100644
--- a/cpp/src/IceUtil/ConvertUTF.h
+++ b/cpp/src/IceUtil/ConvertUTF.h
@@ -120,19 +120,19 @@ typedef bool Boolean; /* 0 or 1 */
ConversionResult ConvertUTF8toUTF16(
const UTF8** sourceStart, const UTF8* sourceEnd,
- UTF16** targetStart, UTF16* targetEnd, ConversionFlags flags);
+ UTF16** targetStart, UTF16* targetEnd, IceUtil::ConversionFlags flags);
ConversionResult ConvertUTF16toUTF8 (
const UTF16** sourceStart, const UTF16* sourceEnd,
- UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
+ UTF8** targetStart, UTF8* targetEnd, IceUtil::ConversionFlags flags);
ConversionResult ConvertUTF8toUTF32(
const UTF8** sourceStart, const UTF8* sourceEnd,
- UTF32** targetStart, UTF32* targetEnd, ConversionFlags flags);
+ UTF32** targetStart, UTF32* targetEnd, IceUtil::ConversionFlags flags);
ConversionResult ConvertUTF32toUTF8(
const UTF32** sourceStart, const UTF32* sourceEnd,
- UTF8** targetStart, UTF8* targetEnd, ConversionFlags flags);
+ UTF8** targetStart, UTF8* targetEnd, IceUtil::ConversionFlags flags);
//
// isLegalUTFSequence is declared in IceUtil/Unicode.h
diff --git a/cpp/src/IceUtil/Unicode.cpp b/cpp/src/IceUtil/Unicode.cpp
index 226259bd21d..8476ece1afd 100644
--- a/cpp/src/IceUtil/Unicode.cpp
+++ b/cpp/src/IceUtil/Unicode.cpp
@@ -185,7 +185,7 @@ IceUtil::UTFConversionException::conversionError() const
string
-IceUtil::wstringToString(const wstring& wstr)
+IceUtil::wstringToString(const wstring& wstr, ConversionFlags flags)
{
string target;
@@ -200,7 +200,7 @@ IceUtil::wstringToString(const wstring& wstr)
ConversionResult cr =
convertUTFWstringToUTF8(
sourceStart, sourceStart + wstr.size(),
- targetStart, targetEnd, lenientConversion);
+ targetStart, targetEnd, flags);
if(cr != conversionOK)
{
@@ -218,14 +218,14 @@ IceUtil::wstringToString(const wstring& wstr)
}
wstring
-IceUtil::stringToWstring(const string& str)
+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, lenientConversion);
+ result, flags);
if(cr != conversionOK)
{
@@ -245,27 +245,27 @@ IceUtil::stringToWstring(const string& str)
# if _MSC_VER < 1400
string
-IceUtil::wstringToString(const basic_string<__wchar_t>& str)
+IceUtil::wstringToString(const basic_string<__wchar_t>& str, ConversionFlags flags)
{
- return wstringToString(*reinterpret_cast<const wstring*>(&str));
+ return wstringToString(*reinterpret_cast<const wstring*>(&str), flags);
}
basic_string<__wchar_t>
-IceUtil::stringToNativeWstring(const string& str)
+IceUtil::stringToNativeWstring(const string& str, ConversionFlags flags)
{
- return reinterpret_cast<basic_string<__wchar_t>& >(stringToWstring(str));
+ return reinterpret_cast<basic_string<__wchar_t>& >(stringToWstring(str, flags));
}
# else
string
-IceUtil::wstringToString(const basic_string<unsigned short>& str)
+IceUtil::wstringToString(const basic_string<unsigned short>& str, ConversionFlags flags)
{
- return wstringToString(*reinterpret_cast<const wstring*>(&str));
+ return wstringToString(*reinterpret_cast<const wstring*>(&str), flags);
}
basic_string<unsigned short>
-IceUtil::stringToTypedefWstring(const string& str)
+IceUtil::stringToTypedefWstring(const string& str, ConversionFlags flags)
{
- return reinterpret_cast<basic_string<unsigned short>& >(stringToWstring(str));
+ return reinterpret_cast<basic_string<unsigned short>& >(stringToWstring(str, flags));
}
# endif