summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/CommunicatorI.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2009-07-08 23:12:24 +0200
committerJose <jose@zeroc.com>2009-07-08 23:12:24 +0200
commitadc4906087225fbe685cdfc42b3e8e65eba853b3 (patch)
tree2c91dd087395d8d8c36ec9290df62aa5e91488bc /cpp/src/Ice/CommunicatorI.cpp
parentBug 3632 - removed slice2docbook. (diff)
downloadice-adc4906087225fbe685cdfc42b3e8e65eba853b3.tar.bz2
ice-adc4906087225fbe685cdfc42b3e8e65eba853b3.tar.xz
ice-adc4906087225fbe685cdfc42b3e8e65eba853b3.zip
3965 - Add new version if Ice::initialize
Diffstat (limited to 'cpp/src/Ice/CommunicatorI.cpp')
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index 4d2f9562575..2a8af012a4f 100644
--- a/cpp/src/Ice/CommunicatorI.cpp
+++ b/cpp/src/Ice/CommunicatorI.cpp
@@ -298,7 +298,7 @@ Ice::CommunicatorI::removeAdminFacet(const string& facet)
return _instance->removeAdminFacet(facet);
}
-Ice::CommunicatorI::CommunicatorI(const InitializationData& initData)
+Ice::CommunicatorI::CommunicatorI(const InitializationData& initData, char** argv) : _argv(argv)
{
__setNoDelete(true);
try
@@ -358,6 +358,16 @@ Ice::CommunicatorI::~CommunicatorI()
Warning out(_instance->initializationData().logger);
out << "Ice::Communicator::destroy() has not been called";
}
+ if(_argv)
+ {
+ for(int i = 0; _argv[i] != 0; ++i)
+ {
+ free(_argv[i]);
+ }
+ free(_argv);
+ _argv = 0;
+ }
+
}
void