diff options
Diffstat (limited to 'fastboot/util_osx.c')
-rw-r--r-- | fastboot/util_osx.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/fastboot/util_osx.c b/fastboot/util_osx.c index 26b832a..e718562 100644 --- a/fastboot/util_osx.c +++ b/fastboot/util_osx.c @@ -31,14 +31,15 @@ void get_my_path(char s[PATH_MAX]) { - char *x; - ProcessSerialNumber psn; - GetCurrentProcess(&psn); - CFDictionaryRef dict; - dict = ProcessInformationCopyDictionary(&psn, 0xffffffff); - CFStringRef value = (CFStringRef)CFDictionaryGetValue(dict, - CFSTR("CFBundleExecutable")); - CFStringGetCString(value, s, PATH_MAX - 1, kCFStringEncodingUTF8); + CFBundleRef mainBundle = CFBundleGetMainBundle(); + CFURLRef executableURL = CFBundleCopyExecutableURL(mainBundle); + CFStringRef executablePathString = CFURLCopyFileSystemPath(executableURL, kCFURLPOSIXPathStyle); + CFRelease(executableURL); + + CFStringGetFileSystemRepresentation(executablePathString, s, PATH_MAX-1); + CFRelease(executablePathString); + + char *x; x = strrchr(s, '/'); if(x) x[1] = 0; } |