From 532a493752e8051e2dcf92519bb858599176cfa2 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Wed, 17 Aug 2022 22:57:30 +0200 Subject: [PATCH] - get_current_dir_name apparently does not exist on macOS --- src/common/platform/posix/cocoa/i_system.mm | 32 +++++++++------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/src/common/platform/posix/cocoa/i_system.mm b/src/common/platform/posix/cocoa/i_system.mm index 4251a8282d..58617cd812 100644 --- a/src/common/platform/posix/cocoa/i_system.mm +++ b/src/common/platform/posix/cocoa/i_system.mm @@ -173,14 +173,12 @@ unsigned int I_MakeRNGSeed() FString I_GetCWD() { - char* curdir = get_current_dir_name(); - if (!curdir) + char curdir[PATH_MAX]; + if (!getcwd(curdir, countof(curdir))) { return ""; } - FString ret(curdir); - free(curdir); - return ret; + return curdir; } bool I_ChDir(const char* path) @@ -188,20 +186,18 @@ bool I_ChDir(const char* path) return chdir(path) == 0; } -void I_OpenShellFolder(const char* infolder) +void I_OpenShellFolder(const char* folder) { - char* curdir = get_current_dir_name(); + char curdir[PATH_MAX]; + if (!getcwd (curdir, countof(curdir))) + { + Printf ("Current path too long\n"); + return; + } - if (!chdir(infolder)) - { - Printf("Opening folder: %s\n", infolder); - system("open ."); - chdir(curdir); - } - else - { - Printf("Unable to open directory '%s\n", infolder); - } - free(curdir); + chdir(folder); + Printf("Opening folder: %s\n", folder); + std::system("open ."); + chdir(curdir); }