Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d5b41767 authored by Al Sutton's avatar Al Sutton Committed by Jean-Michel Trivi
Browse files

Return path including executable instead of without

The previous implementation returned the path the executable was in instead
of returning the path including the executable (i.e. it returned ...bin
instead of ...bin/executable). This is not what the original methods did
and caused the process forking of adb to fail.

This patch corrects the implementation.

(cherry picked from commit 26b53bb7)

Change-Id: Icad6870bbb0a88f611ca71d90fff30f7b576c367
parent 017c97a5
Loading
Loading
Loading
Loading
+5 −5
Original line number Diff line number Diff line
@@ -20,11 +20,11 @@
void get_my_path(char *s, size_t maxLen)
{
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef bundleURL = CFBundleCopyBundleURL(mainBundle);
    CFStringRef bundlePathString = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle);
    CFRelease(bundleURL);
    CFURLRef executableURL = CFBundleCopyExecutableURL(mainBundle);
    CFStringRef executablePathString = CFURLCopyFileSystemPath(executableURL, kCFURLPOSIXPathStyle);
    CFRelease(executableURL);

    CFStringGetCString(bundlePathString, s, maxLen, kCFStringEncodingASCII);
    CFRelease(bundlePathString);
    CFStringGetCString(executablePathString, s, maxLen, kCFStringEncodingASCII);
    CFRelease(executablePathString);
}
+5 −5
Original line number Diff line number Diff line
@@ -32,12 +32,12 @@
void get_my_path(char s[PATH_MAX])
{
    CFBundleRef mainBundle = CFBundleGetMainBundle();
    CFURLRef bundleURL = CFBundleCopyBundleURL(mainBundle);
    CFStringRef bundlePathString = CFURLCopyFileSystemPath(bundleURL, kCFURLPOSIXPathStyle);
    CFRelease(bundleURL);
    CFURLRef executableURL = CFBundleCopyExecutableURL(mainBundle);
    CFStringRef executablePathString = CFURLCopyFileSystemPath(executableURL, kCFURLPOSIXPathStyle);
    CFRelease(executableURL);

    CFStringGetCString(bundlePathString, s, PATH_MAX - 1, kCFStringEncodingASCII);
    CFRelease(bundlePathString);
    CFStringGetCString(executablePathString, s, PATH_MAX-1, kCFStringEncodingASCII);
    CFRelease(executablePathString);

	char *x;
    x = strrchr(s, '/');