diff --git a/llt/dirpath.c b/llt/dirpath.c index df56dc8..962af38 100644 --- a/llt/dirpath.c +++ b/llt/dirpath.c @@ -119,17 +119,12 @@ char *get_exename(char *buf, size_t size) return buf; } #elif defined(MACOSX) -#include +#include char *get_exename(char *buf, size_t size) { - ProcessSerialNumber PSN; - FSRef ref; - - if (GetCurrentProcess(&PSN) < 0 || - GetProcessBundleLocation(&PSN, &ref) < 0 || - FSRefMakePath(&ref, buf, size) < 0) - return NULL; - + uint32_t bufsize = (uint32_t)size; + if (_NSGetExecutablePath(buf, &bufsize)) + return NULL; return buf; } #endif