Implements get_executable_path for OS X should proc_pidpath in os_osx.mm doesn't succeed. Silences the warning for javascript as the function currently appears superfluous.
This commit is contained in:
parent
30e5df6e21
commit
e5c1a2c3f7
1 changed files with 21 additions and 0 deletions
|
@ -44,6 +44,10 @@
|
||||||
#include "stream_peer_tcp_posix.h"
|
#include "stream_peer_tcp_posix.h"
|
||||||
#include "packet_peer_udp_posix.h"
|
#include "packet_peer_udp_posix.h"
|
||||||
|
|
||||||
|
#ifdef __APPLE__
|
||||||
|
#include <mach-o/dyld.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef __FreeBSD__
|
#ifdef __FreeBSD__
|
||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -508,6 +512,23 @@ String OS_Unix::get_executable_path() const {
|
||||||
realpath(OS::get_executable_path().utf8().get_data(), resolved_path);
|
realpath(OS::get_executable_path().utf8().get_data(), resolved_path);
|
||||||
|
|
||||||
return String(resolved_path);
|
return String(resolved_path);
|
||||||
|
#elif defined(__APPLE__)
|
||||||
|
char temp_path[1];
|
||||||
|
uint32_t buff_size=1;
|
||||||
|
_NSGetExecutablePath(temp_path, &buff_size);
|
||||||
|
|
||||||
|
char* resolved_path = new char[buff_size + 1];
|
||||||
|
|
||||||
|
if (_NSGetExecutablePath(resolved_path, &buff_size) == 1)
|
||||||
|
WARN_PRINT("MAXPATHLEN is too small");
|
||||||
|
|
||||||
|
String path(resolved_path);
|
||||||
|
delete[] resolved_path;
|
||||||
|
|
||||||
|
return path;
|
||||||
|
#elif defined(EMSCRIPTEN)
|
||||||
|
// We return nothing
|
||||||
|
return String();
|
||||||
#else
|
#else
|
||||||
ERR_PRINT("Warning, don't know how to obtain executable path on this OS! Please override this function properly.");
|
ERR_PRINT("Warning, don't know how to obtain executable path on this OS! Please override this function properly.");
|
||||||
return OS::get_executable_path();
|
return OS::get_executable_path();
|
||||||
|
|
Loading…
Reference in a new issue