summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorS.H <gamelinks007@gmail.com>2021-07-29 12:51:10 +0900
committerGitHub <noreply@github.com>2021-07-29 12:51:10 +0900
commit64adeeadaa8d7fe210d0605eb6c9b0b1dcf49746 (patch)
tree59af91fa7ec9bd71c0ce181ce6abdfd9e3c1c1af
parent656b49ec475c454c6cfb81a2d2fee9e7314f69fa (diff)
Add RBOOL macro and use it
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/4677 Merged-By: nobu <nobu@ruby-lang.org>
-rw-r--r--file.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/file.c b/file.c
index 649dfcc428..0afee429de 100644
--- a/file.c
+++ b/file.c
@@ -171,6 +171,8 @@ int flock(int, int);
#include "ruby/thread.h"
#include "ruby/util.h"
+#define RBOOL(v) ((v) ? Qtrue : Qfalse)
+
VALUE rb_cFile;
VALUE rb_mFileTest;
VALUE rb_cStat;
@@ -1830,8 +1832,7 @@ rb_file_exists_p(VALUE obj, VALUE fname)
static VALUE
rb_file_readable_p(VALUE obj, VALUE fname)
{
- if (rb_eaccess(fname, R_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_eaccess(fname, R_OK) >= 0);
}
/*
@@ -1848,8 +1849,7 @@ rb_file_readable_p(VALUE obj, VALUE fname)
static VALUE
rb_file_readable_real_p(VALUE obj, VALUE fname)
{
- if (rb_access(fname, R_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_access(fname, R_OK) >= 0);
}
#ifndef S_IRUGO
@@ -1904,8 +1904,7 @@ rb_file_world_readable_p(VALUE obj, VALUE fname)
static VALUE
rb_file_writable_p(VALUE obj, VALUE fname)
{
- if (rb_eaccess(fname, W_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_eaccess(fname, W_OK) >= 0);
}
/*
@@ -1922,8 +1921,7 @@ rb_file_writable_p(VALUE obj, VALUE fname)
static VALUE
rb_file_writable_real_p(VALUE obj, VALUE fname)
{
- if (rb_access(fname, W_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_access(fname, W_OK) >= 0);
}
/*
@@ -1974,8 +1972,7 @@ rb_file_world_writable_p(VALUE obj, VALUE fname)
static VALUE
rb_file_executable_p(VALUE obj, VALUE fname)
{
- if (rb_eaccess(fname, X_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_eaccess(fname, X_OK) >= 0);
}
/*
@@ -1996,8 +1993,7 @@ rb_file_executable_p(VALUE obj, VALUE fname)
static VALUE
rb_file_executable_real_p(VALUE obj, VALUE fname)
{
- if (rb_access(fname, X_OK) < 0) return Qfalse;
- return Qtrue;
+ return RBOOL(rb_access(fname, X_OK) >= 0);
}
#ifndef S_ISREG