diff --git a/BeefySysLib/platform/posix/PosixCommon.cpp b/BeefySysLib/platform/posix/PosixCommon.cpp index a62fc81e..00ca2247 100644 --- a/BeefySysLib/platform/posix/PosixCommon.cpp +++ b/BeefySysLib/platform/posix/PosixCommon.cpp @@ -542,13 +542,21 @@ BFP_EXPORT void BFP_CALLTYPE BfpSystem_Init(int version, BfpSystemInitFlags flag } BFP_EXPORT void BFP_CALLTYPE BfpSystem_SetCommandLine(int argc, char** argv) -{ - char* relPath = argv[0]; - - char* cwd = getcwd(NULL, 0); - gExePath = GetAbsPath(relPath, cwd); - free(cwd); - +{ + char exePath[PATH_MAX] = { 0 }; + int nchar = readlink("/proc/self/exe", exePath, PATH_MAX); + if (nchar > 0) + { + gExePath = exePath; + } + else + { + char* relPath = argv[0]; + char* cwd = getcwd(NULL, 0); + gExePath = GetAbsPath(relPath, cwd); + free(cwd); + } + for (int i = 0; i < argc; i++) { if (i != 0)