summaryrefslogtreecommitdiff
path: root/cpp/test/Ice
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/test/Ice')
-rw-r--r--cpp/test/Ice/stringConverter/Client.cpp34
1 files changed, 26 insertions, 8 deletions
diff --git a/cpp/test/Ice/stringConverter/Client.cpp b/cpp/test/Ice/stringConverter/Client.cpp
index 67767701e80..bac0a184aac 100644
--- a/cpp/test/Ice/stringConverter/Client.cpp
+++ b/cpp/test/Ice/stringConverter/Client.cpp
@@ -58,20 +58,38 @@ main(int argc, char* argv[])
// (we just used the codeset for as default internal code for
// initData.stringConverter below)
//
- setlocale(LC_ALL, "fr_FR.ISO8859-15");
+ bool useLocale = false;
+#ifndef _WIN32
+ useLocale = (setlocale(LC_ALL, "fr_FR.ISO8859-15") != 0);
+#endif
+
+ if(useLocale)
+ {
+ cout << "using locale..." << flush;
+ }
Ice::InitializationData initData;
#if defined(__hpux)
- initData.stringConverter = new Ice::IconvStringConverter<char>("iso815");
+ if(useLocale)
+ {
+ initData.stringConverter = new Ice::IconvStringConverter<char>;
+ }
+ else
+ {
+ initData.stringConverter = new Ice::IconvStringConverter<char>("iso815");
+ }
initData.wstringConverter = new Ice::IconvStringConverter<wchar_t>("ucs4");
#else
-
-#ifdef _WIN32
- initData.stringConverter = new Ice::IconvStringConverter<char>("ISO8859-15");
-#else
- initData.stringConverter = new Ice::IconvStringConverter<char>;
-#endif
+
+ if(useLocale)
+ {
+ initData.stringConverter = new Ice::IconvStringConverter<char>;
+ }
+ else
+ {
+ initData.stringConverter = new Ice::IconvStringConverter<char>("ISO8859-15");
+ }
if(sizeof(wchar_t) == 4)
{