summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2015-01-15 17:15:33 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-01-15 17:15:33 +0000
commit1a65d5b3516ba5750e17b3cb5bc64a585b17f69a (patch)
treed3f36e2dc53674fb7e1f17e943959291c46422bc
parent0f86444b3912cadb4227755f3b80d2ff74841575 (diff)
parent017c97a5b1a55d402da1a793c91fc37f11b05747 (diff)
downloadcore-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.c14
-rw-r--r--fastboot/util_osx.c17
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;
}