From f919f2f2a401695eeb5d2e672852f4077390099c Mon Sep 17 00:00:00 2001 From: sin Date: Fri, 13 Mar 2015 23:44:18 +0000 Subject: [PATCH] test: Fix -e, -r, -w and -x We return 0 when the expression evaluates to true. access() returns 0 on a successful call so check against that. --- test.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/test.c b/test.c index 52e2275..1670904 100644 --- a/test.c +++ b/test.c @@ -21,10 +21,10 @@ static int unary_u(char *s) { struct stat buf; if ( stat(s, &buf)) return 0; ret static int unary_n(char *s) { return *s; } static int unary_z(char *s) { return !*s; } -static int unary_e(char *s) { return access(s, F_OK); } -static int unary_r(char *s) { return access(s, R_OK); } -static int unary_w(char *s) { return access(s, W_OK); } -static int unary_x(char *s) { return access(s, X_OK); } +static int unary_e(char *s) { return !access(s, F_OK); } +static int unary_r(char *s) { return !access(s, R_OK); } +static int unary_w(char *s) { return !access(s, W_OK); } +static int unary_x(char *s) { return !access(s, X_OK); } static int unary_t(char *s) { int fd = enstrtonum(2, s, 0, INT_MAX); return isatty(fd); }