summaryrefslogtreecommitdiff
path: root/cpp/src/IceUtil/StringUtil.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/IceUtil/StringUtil.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/IceUtil/StringUtil.cpp')
-rw-r--r--cpp/src/IceUtil/StringUtil.cpp27
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;
+}