summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-15 13:29:12 +0900
committerNobuyoshi Nakada <nobu@ruby-lang.org>2019-09-15 13:29:12 +0900
commit44d594189aa2b1365b9b765cb272906b9561cc1d (patch)
tree646308234674f306cff687a504e7b079b7b980ba /include
parent585b15d75df525054cf46b79baf16498472a0e65 (diff)
rb_scan_args_count_lead: use arguments instead of magic numbers
Diffstat (limited to 'include')
-rw-r--r--include/ruby/ruby.h12
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