commit f919f2f2a401695eeb5d2e672852f4077390099c
parent 0f60227ea8460803d6c7025215770548f8adcc3f
Author: sin <sin@2f30.org>
Date: Fri, 13 Mar 2015 23:44:18 +0000
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.
Diffstat:
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git 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); }