summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp12
-rw-r--r--cpp/src/Ice/CommunicatorI.h7
-rw-r--r--cpp/src/Ice/Initialize.cpp22
-rw-r--r--cpp/src/IceUtil/StringUtil.cpp31
4 files changed, 6 insertions, 66 deletions
diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index 2a8af012a4f..4d2f9562575 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, char** argv) : _argv(argv)
+Ice::CommunicatorI::CommunicatorI(const InitializationData& initData)
{
__setNoDelete(true);
try
@@ -358,16 +358,6 @@ 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
diff --git a/cpp/src/Ice/CommunicatorI.h b/cpp/src/Ice/CommunicatorI.h
index d78693ad207..f80939fc805 100644
--- a/cpp/src/Ice/CommunicatorI.h
+++ b/cpp/src/Ice/CommunicatorI.h
@@ -66,7 +66,7 @@ public:
private:
- CommunicatorI(const InitializationData&, char** argv = 0);
+ CommunicatorI(const InitializationData&);
virtual ~CommunicatorI();
//
@@ -75,8 +75,7 @@ private:
//
void finishSetup(int&, char*[]);
- friend ICE_API CommunicatorPtr initialize(int&, char**&, const InitializationData&, Int);
- friend ICE_API CommunicatorPtr initialize(int, const char*[], int&, char**&, const InitializationData&, Int);
+ friend ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData&, Int);
friend ICE_API CommunicatorPtr initialize(StringSeq&, const InitializationData&, Int);
friend ICE_API CommunicatorPtr initialize(const InitializationData&, Int);
friend ICE_API ::IceInternal::InstancePtr IceInternal::getInstance(const ::Ice::CommunicatorPtr&);
@@ -88,8 +87,6 @@ private:
// Communicator's destructor is invoked.
//
const ::IceInternal::DynamicLibraryListPtr _dynamicLibraryList;
-
- char** _argv;
};
}
diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp
index 69444ff17cb..e5f88d034aa 100644
--- a/cpp/src/Ice/Initialize.cpp
+++ b/cpp/src/Ice/Initialize.cpp
@@ -9,7 +9,6 @@
#include <IceUtil/DisableWarnings.h>
#include <IceUtil/ArgVector.h>
-#include <IceUtil/StringUtil.h>
#include <Ice/GC.h>
#include <Ice/CommunicatorI.h>
#include <Ice/PropertiesI.h>
@@ -151,31 +150,16 @@ inline void checkIceVersion(Int version)
}
CommunicatorPtr
-Ice::initialize(int& argc, char**& argv, const InitializationData& initializationData, Int version)
+Ice::initialize(int& argc, char* argv[], const InitializationData& initializationData, Int version)
{
- int argcCopy = argc;
- CommunicatorPtr result = initialize(argcCopy, const_cast<const char**>(argv), argc, argv, initializationData, version);
- return result;
-}
-
-CommunicatorPtr
-Ice::initialize(int argc, const char* argv[], int& newArgc, char**& newArgv, const InitializationData& initializationData, Int version)
-{
-
checkIceVersion(version);
InitializationData initData = initializationData;
- int argcCopy = argc;
- char** argvCopy = IceUtilInternal::dupArgv(argv);
- initData.properties = createProperties(argcCopy, argvCopy, initData.properties, initData.stringConverter);
+ initData.properties = createProperties(argc, argv, initData.properties, initData.stringConverter);
CommunicatorI* communicatorI = new CommunicatorI(initData);
CommunicatorPtr result = communicatorI; // For exception safety.
- communicatorI->finishSetup(argcCopy, argvCopy);
-
- newArgc = argcCopy;
- newArgv = argvCopy;
-
+ communicatorI->finishSetup(argc, argv);
return result;
}
diff --git a/cpp/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp
index 5e2439e2e24..a8499af2355 100644
--- a/cpp/src/IceUtil/StringUtil.cpp
+++ b/cpp/src/IceUtil/StringUtil.cpp
@@ -719,34 +719,3 @@ IceUtilInternal::removeWhitespace(const std::string& s)
}
return result;
}
-
-char**
-IceUtilInternal::dupArgv(const char* argv[])
-{
- int argc;
- char** copy;
-
- if(argv == 0)
- {
- return 0;
- }
-
- for(argc = 0; argv[argc] != 0; argc++);
-
- copy = (char**) malloc((argc + 1) * sizeof(char*));
- if(copy == 0)
- {
- return 0;
- }
-
- for(argc = 0; argv[argc] != 0; argc++)
- {
-#if defined(_MSC_VER) && (_MSC_VER >= 1400)
- copy[argc] = _strdup(argv[argc]);
-#else
- copy[argc] = strdup(argv[argc]);
-#endif
- }
- copy[argc] = 0;
- return copy;
-}