diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-15 13:29:12 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-09-15 13:29:12 +0900 |
commit | 44d594189aa2b1365b9b765cb272906b9561cc1d (patch) | |
tree | 646308234674f306cff687a504e7b079b7b980ba /include | |
parent | 585b15d75df525054cf46b79baf16498472a0e65 (diff) |
rb_scan_args_count_lead: use arguments instead of magic numbers
Diffstat (limited to 'include')
-rw-r--r-- | include/ruby/ruby.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index b60afde04c..c438b0aea7 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -2370,14 +2370,16 @@ ERRORFUNC(("variable argument length doesn't match"), void rb_scan_args_length_m rb_scan_args_count_trail(fmt, ofs+1, vari+1)) # define rb_scan_args_count_opt(fmt, ofs, vari) \ - (!rb_scan_args_isdigit(fmt[1]) ? \ + (!rb_scan_args_isdigit(fmt[ofs]) ? \ rb_scan_args_count_var(fmt, ofs, vari) : \ rb_scan_args_count_var(fmt, ofs+1, vari+fmt[ofs]-'0')) -# define rb_scan_args_count(fmt) \ - (!rb_scan_args_isdigit(fmt[0]) ? \ - rb_scan_args_count_var(fmt, 0, 0) : \ - rb_scan_args_count_opt(fmt, 1, fmt[0]-'0')) +# define rb_scan_args_count_lead(fmt, ofs, vari) \ + (!rb_scan_args_isdigit(fmt[ofs]) ? \ + rb_scan_args_count_var(fmt, ofs, vari) : \ + rb_scan_args_count_opt(fmt, ofs+1, vari+fmt[ofs]-'0')) + +# define rb_scan_args_count(fmt) rb_scan_args_count_lead(fmt, 0, 0) # if defined(__has_attribute) && __has_attribute(diagnose_if) # define rb_scan_args_verify(fmt, varc) (void)0 |