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

Commit 26b53bb7 authored by Al Sutton's avatar Al Sutton
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.

Change-Id: Ib58497cab35706041f170c1bc97c31fd5d965f90
parent 46ee85fc
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, '/');