diff options
author | Jose <jose@zeroc.com> | 2009-07-08 23:12:24 +0200 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2009-07-08 23:12:24 +0200 |
commit | adc4906087225fbe685cdfc42b3e8e65eba853b3 (patch) | |
tree | 2c91dd087395d8d8c36ec9290df62aa5e91488bc /cpp/src/IceUtil/StringUtil.cpp | |
parent | Bug 3632 - removed slice2docbook. (diff) | |
download | ice-adc4906087225fbe685cdfc42b3e8e65eba853b3.tar.bz2 ice-adc4906087225fbe685cdfc42b3e8e65eba853b3.tar.xz ice-adc4906087225fbe685cdfc42b3e8e65eba853b3.zip |
3965 - Add new version if Ice::initialize
Diffstat (limited to 'cpp/src/IceUtil/StringUtil.cpp')
-rw-r--r-- | cpp/src/IceUtil/StringUtil.cpp | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/cpp/src/IceUtil/StringUtil.cpp b/cpp/src/IceUtil/StringUtil.cpp index a8499af2355..90f23ce8c1a 100644 --- a/cpp/src/IceUtil/StringUtil.cpp +++ b/cpp/src/IceUtil/StringUtil.cpp @@ -719,3 +719,30 @@ 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++) + { + copy[argc] = strdup(argv[argc]); + } + copy[argc] = 0; + return copy; +} |