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);