diff options
Diffstat (limited to 'cpp/src/Ice/Application.cpp')
-rw-r--r-- | cpp/src/Ice/Application.cpp | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/cpp/src/Ice/Application.cpp b/cpp/src/Ice/Application.cpp index 2dd8d2a050f..da88207dd81 100644 --- a/cpp/src/Ice/Application.cpp +++ b/cpp/src/Ice/Application.cpp @@ -618,13 +618,27 @@ Ice::Application::interrupted() } int -Ice::Application::doMain(int argc, char* argv[], const InitializationData& initData) +Ice::Application::doMain(int argc, char* argv[], const InitializationData& initializationData) { int status; try { IceInternal::Application::_interrupted = false; + IceInternal::Application::_appName = ""; + if(argc > 0) + { + IceInternal::Application::_appName = argv[0]; + } + + // + // We parse the properties here to extract Ice.ProgramName. + // + InitializationData initData = initializationData; + initData.properties = createProperties(argc, argv, initData.properties, initData.stringConverter); + + IceInternal::Application::_appName = initData.properties->getPropertyWithDefault("Ice.ProgramName", + IceInternal::Application::_appName); // // If the process logger is the default logger, we now replace it with a |