summaryrefslogtreecommitdiff
path: root/src/common/core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/core.cpp')
-rw-r--r--src/common/core.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/common/core.cpp b/src/common/core.cpp
index 153414d..76aa09c 100644
--- a/src/common/core.cpp
+++ b/src/common/core.cpp
@@ -76,7 +76,11 @@ int main(int argc, char **argv)
{
do_socket();
- do_init(argc, argv);
+ // ZString args[argc]; is (deliberately!) not supported by clang yet
+ ZString *args = static_cast<ZString *>(alloca(argc * sizeof(ZString)));
+ for (int i = 0; i < argc; ++i)
+ args[i] = ZString(ZString::really_construct_from_a_pointer, argv[i], nullptr);
+ do_init(argc, args);
// set up exit handlers *after* the initialization has happened.
// This is because term_func is likely to depend on successful init.