From f5bf3f4cf69ea225693dcec434a5ad074da83138 Mon Sep 17 00:00:00 2001 From: Jan Nieuwenhuizen Date: Sat, 16 Mar 2019 16:36:00 +0100 Subject: [PATCH] mescc: Mes C Library: Fix access stub. * lib/stub/access.c (access): Use _open3 to give more meaningful behaviour. Fixes hanging of mes. --- lib/stub/access.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/stub/access.c b/lib/stub/access.c index f635f6e0..d862162f 100644 --- a/lib/stub/access.c +++ b/lib/stub/access.c @@ -20,6 +20,8 @@ #include #include +#include +#include int access (char const *file_name, int how) @@ -29,5 +31,15 @@ access (char const *file_name, int how) eputs ("access stub\n"); stub = 1; errno = 0; - return 0; + if (how == R_OK || how == F_OK) + { + int filedes = _open3 (file_name, O_RDONLY, 0); + if (filedes >= 2) + return 0; + } + else if (how == W_OK) + return 0; + else if (how == X_OK) + return 0; + return -1; }