mariabackup utility, binary path implementation for Mac.

implements in a native way get_exepath which gives reliably the full
path.
This commit is contained in:
David CARLIER 2021-02-03 19:44:34 +00:00 committed by Robert Bindar
parent 1d762ee8fe
commit e3a597378e

View file

@ -61,6 +61,10 @@ Street, Fifth Floor, Boston, MA 02110-1335 USA
#include <sys/resource.h>
#endif
#ifdef __APPLE__
# include "libproc.h"
#endif
#include <btr0sea.h>
#include <dict0priv.h>
@ -6913,6 +6917,12 @@ static int get_exepath(char *buf, size_t size, const char *argv0)
ssize_t ret = readlink("/proc/self/exe", buf, size-1);
if(ret > 0)
return 0;
#elif defined(__APPLE__)
size_t ret = proc_pidpath(getpid(), buf, static_cast<uint32_t>(size));
if (ret > 0) {
buf[ret] = 0;
return 0;
}
#endif
return my_realpath(buf, argv0, 0);