mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2026-10-12 02:13:17 +00:00
Implement File::GetExePath() for OpenBSD with getexecpath()
This commit is contained in:
@@ -80,6 +80,11 @@ if(HAVE_ELF_AUX_INFO)
|
||||
add_definitions(-DHAVE_ELF_AUX_INFO)
|
||||
endif()
|
||||
|
||||
check_symbol_exists(getexecpath unistd.h HAVE_GETEXECPATH)
|
||||
if(HAVE_GETEXECPATH)
|
||||
add_definitions(-DHAVE_GETEXECPATH)
|
||||
endif()
|
||||
|
||||
add_subdirectory(Core)
|
||||
if (ANDROID)
|
||||
add_subdirectory(Android/jni)
|
||||
|
||||
@@ -740,6 +740,11 @@ std::string GetExePath()
|
||||
if (sysctl(name, 4, dolphin_exe_path.data(), &length, nullptr, 0) != 0)
|
||||
return {};
|
||||
return dolphin_exe_path;
|
||||
#elif defined(__OpenBSD__) && defined(HAVE_GETEXECPATH)
|
||||
char dolphin_exe_path[PATH_MAX];
|
||||
if (getexecpath(dolphin_exe_path, sizeof(dolphin_exe_path)) != 0)
|
||||
return {};
|
||||
return dolphin_exe_path;
|
||||
#else
|
||||
char dolphin_exe_path[PATH_MAX];
|
||||
ssize_t len = ::readlink("/proc/self/exe", dolphin_exe_path, sizeof(dolphin_exe_path));
|
||||
|
||||
Reference in New Issue
Block a user