From 43f70003c9c3e38dddff49c873ce34fde2923abe Mon Sep 17 00:00:00 2001 From: Stefan Boberg Date: Mon, 3 Nov 2025 15:50:19 +0100 Subject: added MacOS-native IterateCommandlineArgs (#624) fixes issue where command line arguments to control tracing would not work on Mac --- src/zencore/commandline.cpp | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'src/zencore/commandline.cpp') diff --git a/src/zencore/commandline.cpp b/src/zencore/commandline.cpp index 0cdccf986..78260aeef 100644 --- a/src/zencore/commandline.cpp +++ b/src/zencore/commandline.cpp @@ -10,6 +10,10 @@ ZEN_THIRD_PARTY_INCLUDES_START ZEN_THIRD_PARTY_INCLUDES_END #endif +#if ZEN_PLATFORM_MAC +# include +#endif + #include namespace zen { @@ -35,7 +39,17 @@ IterateCommandlineArgs(std::function& Process } ::LocalFree(HLOCAL(ArgV)); -#elif ZEN_PLATFORM_LINUX || ZEN_PLATFORM_MAC +#elif ZEN_PLATFORM_MAC + int ArgC = *_NSGetArgc(); + char** ArgV = *_NSGetArgv(); + if (ArgC > 1) + { + for (int i = 1; i < ArgC; ++i) + { + ProcessArg(ArgV[i]); + } + } +#elif ZEN_PLATFORM_LINUX if (FILE* CmdLineFile = fopen("/proc/self/cmdline", "r")) { const char* ArgV[255] = {}; -- cgit v1.2.3