From 65ff618479ceeee5b5baddaaa89abf7258fc2362 Mon Sep 17 00:00:00 2001 From: matt335672 <30179339+matt335672@users.noreply.github.com> Date: Mon, 3 Apr 2023 15:09:31 +0100 Subject: [PATCH] os_calls: Add g_executable_exist() --- common/os_calls.c | 8 ++++++++ common/os_calls.h | 1 + 2 files changed, 9 insertions(+) diff --git a/common/os_calls.c b/common/os_calls.c index ac386a18..4c9d7327 100644 --- a/common/os_calls.c +++ b/common/os_calls.c @@ -2556,6 +2556,14 @@ g_directory_exist(const char *dirname) #endif } +/*****************************************************************************/ +/* returns boolean, non zero if the file exists and is a readable executable */ +int +g_executable_exist(const char *exename) +{ + return access(exename, R_OK | X_OK) == 0; +} + /*****************************************************************************/ /* returns boolean */ int diff --git a/common/os_calls.h b/common/os_calls.h index c00cafda..6c10f045 100644 --- a/common/os_calls.h +++ b/common/os_calls.h @@ -242,6 +242,7 @@ int g_set_current_dir(const char *dirname); int g_file_exist(const char *filename); int g_file_readable(const char *filename); int g_directory_exist(const char *dirname); +int g_executable_exist(const char *dirname); int g_create_dir(const char *dirname); int g_create_path(const char *path); int g_remove_dir(const char *dirname);