diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2015-01-15 17:15:33 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-01-15 17:15:33 +0000 |
commit | 1a65d5b3516ba5750e17b3cb5bc64a585b17f69a (patch) | |
tree | d3f36e2dc53674fb7e1f17e943959291c46422bc | |
parent | 0f86444b3912cadb4227755f3b80d2ff74841575 (diff) | |
parent | 017c97a5b1a55d402da1a793c91fc37f11b05747 (diff) | |
download | core-1a65d5b3516ba5750e17b3cb5bc64a585b17f69a.tar.gz |
Merge "Fix building on modern versions of Xcode and OS X." into lmp-mr1-dev
-rw-r--r-- | adb/get_my_path_darwin.c | 14 | ||||
-rw-r--r-- | fastboot/util_osx.c | 17 |
2 files changed, 16 insertions, 15 deletions
diff --git a/adb/get_my_path_darwin.c b/adb/get_my_path_darwin.c index 5b95d1534..9141b5799 100644 --- a/adb/get_my_path_darwin.c +++ b/adb/get_my_path_darwin.c @@ -19,12 +19,12 @@ void get_my_path(char *s, size_t maxLen) { - ProcessSerialNumber psn; - GetCurrentProcess(&psn); - CFDictionaryRef dict; - dict = ProcessInformationCopyDictionary(&psn, 0xffffffff); - CFStringRef value = (CFStringRef)CFDictionaryGetValue(dict, - CFSTR("CFBundleExecutable")); - CFStringGetCString(value, s, maxLen, kCFStringEncodingUTF8); + CFBundleRef mainBundle = CFBundleGetMainBundle(); + CFURLRef bundleURL = CFBundleCopyBundleURL(mainBundle); + CFStringRef bundlePathString = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle); + CFRelease(bundleURL); + + CFStringGetCString(bundlePathString, s, maxLen, kCFStringEncodingASCII); + CFRelease(bundlePathString); } diff --git a/fastboot/util_osx.c b/fastboot/util_osx.c index 26b832a35..e80a8f356 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 bundleURL = CFBundleCopyBundleURL(mainBundle); + CFStringRef bundlePathString = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle); + CFRelease(bundleURL); + + CFStringGetCString(bundlePathString, s, PATH_MAX - 1, kCFStringEncodingASCII); + CFRelease(bundlePathString); + + char *x; x = strrchr(s, '/'); if(x) x[1] = 0; } |