diff options
author | Jose <jose@zeroc.com> | 2014-05-02 19:56:38 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2014-05-02 19:56:38 +0200 |
commit | 1161c5817059464ab511632c0ce5d14593ced1a3 (patch) | |
tree | 51bbcdf2a4ea43c430312157350bb4271bc3f40d /cpp/src/Ice/Application.cpp | |
parent | Update .gitignore files (diff) | |
download | ice-1161c5817059464ab511632c0ce5d14593ced1a3.tar.bz2 ice-1161c5817059464ab511632c0ce5d14593ced1a3.tar.xz ice-1161c5817059464ab511632c0ce5d14593ced1a3.zip |
ICE-4851 - Use wstrings for input and output data that contain non-ASCII characters?
Diffstat (limited to 'cpp/src/Ice/Application.cpp')
-rw-r--r-- | cpp/src/Ice/Application.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index 39175648f73..1519683d440 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -316,7 +316,7 @@ Ice::Application::main(int argc, char* argv[], const char* configFile) if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger())) { - setProcessLogger(new LoggerI(argv[0], "")); + setProcessLogger(new LoggerI(argv[0], "", true, IceUtil::getProcessStringConverter())); } InitializationData initData; @@ -358,7 +358,7 @@ Ice::Application::main(int argc, wchar_t* argv[], const Ice::InitializationData& // On Windows the given wchar_t* strings are UTF16 and therefore // needs to be converted to native narow string encoding. // - return main(argsToStringSeq(argc, argv, initData.stringConverter), initData); + return main(argsToStringSeq(argc, argv), initData); } #endif @@ -368,7 +368,10 @@ Ice::Application::main(int argc, char* argv[], const InitializationData& initial { if(argc > 0 && argv[0] && LoggerIPtr::dynamicCast(getProcessLogger())) { - setProcessLogger(new LoggerI(argv[0], "")); + const bool convert = initializationData.properties ? + initializationData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) == 1 && + initializationData.properties->getProperty("Ice.StdErr").empty() : true; + setProcessLogger(new LoggerI(argv[0], "", convert, IceUtil::getProcessStringConverter())); } if(IceInternal::Application::_communicator != 0) @@ -385,7 +388,7 @@ Ice::Application::main(int argc, char* argv[], const InitializationData& initial InitializationData initData = initializationData; try { - initData.properties = createProperties(argc, argv, initData.properties, initData.stringConverter); + initData.properties = createProperties(argc, argv, initData.properties); } catch(const std::exception& ex) { @@ -656,7 +659,12 @@ Ice::Application::doMain(int argc, char* argv[], const InitializationData& initD // if(initData.properties->getProperty("Ice.ProgramName") != "" && LoggerIPtr::dynamicCast(getProcessLogger())) { - setProcessLogger(new LoggerI(initData.properties->getProperty("Ice.ProgramName"), "")); + const bool convert = + initData.properties->getPropertyAsIntWithDefault("Ice.LogStdErr.Convert", 1) == 1 && + initData.properties->getProperty("Ice.StdErr").empty(); + + setProcessLogger(new LoggerI(initData.properties->getProperty("Ice.ProgramName"), "", convert, + IceUtil::getProcessStringConverter())); } IceInternal::Application::_communicator = initialize(argc, argv, initData); |