diff options
author | S.H <gamelinks007@gmail.com> | 2021-07-29 12:51:10 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-29 12:51:10 +0900 |
commit | 64adeeadaa8d7fe210d0605eb6c9b0b1dcf49746 (patch) | |
tree | 59af91fa7ec9bd71c0ce181ce6abdfd9e3c1c1af /file.c | |
parent | 656b49ec475c454c6cfb81a2d2fee9e7314f69fa (diff) |
Add RBOOL macro and use it
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/4677
Merged-By: nobu <nobu@ruby-lang.org>
Diffstat (limited to 'file.c')
-rw-r--r-- | file.c | 20 |
1 files changed, 8 insertions, 12 deletions
@@ -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 |