From db9adf0e14f01d0aa8eb288a172995847c006f57 Mon Sep 17 00:00:00 2001 From: Jose Date: Wed, 29 Jul 2009 21:50:06 +0200 Subject: Changes for bug 3962 and 4714 --- cpp/src/Ice/Initialize.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'cpp/src/Ice/Initialize.cpp') diff --git a/cpp/src/Ice/Initialize.cpp b/cpp/src/Ice/Initialize.cpp index e950b960bb1..da9027b5061 100644 --- a/cpp/src/Ice/Initialize.cpp +++ b/cpp/src/Ice/Initialize.cpp @@ -50,6 +50,35 @@ Ice::argsToStringSeq(int argc, char* argv[]) return result; } +#ifdef _WIN32 + +StringSeq +Ice::argsToStringSeq(int argc, wchar_t* argv[]) +{ + return argsToStringSeq(argc, argv, 0); +} + +StringSeq +Ice::argsToStringSeq(int argc, wchar_t* argv[], const StringConverterPtr& converter) +{ + StringSeq args; + for(int i=0; argv[i] != 0; i++) + { + string value = IceUtil::wstringToString(argv[i]); + if(converter) + { + string tmp; + converter->fromUTF8(reinterpret_cast(value.data()), + reinterpret_cast(value.data() + value.size()), tmp); + value.swap(tmp); + } + args.push_back(value); + } + return args; +} + +#endif + void Ice::stringSeqToArgs(const StringSeq& args, int& argc, char* argv[]) { -- cgit v1.2.3