diff options
Diffstat (limited to 'cpp')
-rw-r--r-- | cpp/include/Ice/Initialize.h | 5 | ||||
-rw-r--r-- | cpp/include/IceUtil/StringUtil.h | 5 | ||||
-rw-r--r-- | cpp/src/Ice/CommunicatorI.cpp | 12 | ||||
-rw-r--r-- | cpp/src/Ice/CommunicatorI.h | 7 | ||||
-rw-r--r-- | cpp/src/Ice/Initialize.cpp | 22 | ||||
-rw-r--r-- | cpp/src/IceUtil/StringUtil.cpp | 31 |
6 files changed, 7 insertions, 75 deletions
diff --git a/cpp/include/Ice/Initialize.h b/cpp/include/Ice/Initialize.h index 2592de239d8..2d7d83e290e 100644 --- a/cpp/include/Ice/Initialize.h +++ b/cpp/include/Ice/Initialize.h @@ -64,10 +64,7 @@ struct InitializationData ThreadNotificationPtr threadHook; }; -ICE_API CommunicatorPtr initialize(int&, char**&, const InitializationData& = InitializationData(), - Int = ICE_INT_VERSION); - -ICE_API CommunicatorPtr initialize(int, const char*[], int&, char**&, const InitializationData& = InitializationData(), +ICE_API CommunicatorPtr initialize(int&, char*[], const InitializationData& = InitializationData(), Int = ICE_INT_VERSION); ICE_API CommunicatorPtr initialize(Ice::StringSeq&, const InitializationData& = InitializationData(), diff --git a/cpp/include/IceUtil/StringUtil.h b/cpp/include/IceUtil/StringUtil.h index 4ecdc3cc3c8..72f061e311e 100644 --- a/cpp/include/IceUtil/StringUtil.h +++ b/cpp/include/IceUtil/StringUtil.h @@ -77,11 +77,6 @@ ICE_UTIL_API std::string toUpper(const std::string&); // ICE_UTIL_API std::string removeWhitespace(const std::string&); -// -// Duplicate argv argument vector -// -ICE_UTIL_API char** dupArgv(const char*[]); - } #endif 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; -} |