diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2020-02-02 23:09:25 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-02 23:09:25 +0900 |
commit | fae537259da3dd61fb62ae65d382a0ddc7c215dc (patch) | |
tree | 102ea1609bab37565c23628d7e8e65570fe3809b | |
parent | f5806eb2067f905d71bdce0553dcfeb8585d1371 (diff) | |
download | ruby-fae537259da3dd61fb62ae65d382a0ddc7c215dc.tar.gz |
Removed no longer used variable `last_hash`
1. By substituting `n_var` with its initializer, `0 < n_var` is
equivalent to `argc > argi + n_trail`.
2. As `argi` is non-negative, so `argi + n_trail >= n_trail`, and
the above expression is equivalent to `argc > n_trail`.
3. Therefore, `f_last` is always false, and `last_hash` is no
longer used.
-rw-r--r-- | class.c | 7 | ||||
-rw-r--r-- | include/ruby/ruby.h | 8 |
2 files changed, 3 insertions, 12 deletions
@@ -1964,7 +1964,6 @@ struct rb_scan_args_t { int n_mand; int argi; VALUE hash; - VALUE last_hash; }; static void @@ -2065,11 +2064,7 @@ rb_scan_args_assign(struct rb_scan_args_t *arg, va_list vargs) var = va_arg(vargs, VALUE *); if (0 < n_var) { - if (var) { - int f_last = (arg->argc == arg->n_trail); - *var = rb_ary_new4(n_var - f_last, &arg->argv[argi]); - if (f_last) rb_ary_push(*var, arg->last_hash); - } + if (var) *var = rb_ary_new4(n_var, &arg->argv[argi]); argi += n_var; } else { diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h index dc1eb29e0c..3402d73515 100644 --- a/include/ruby/ruby.h +++ b/include/ruby/ruby.h @@ -2482,7 +2482,7 @@ rb_scan_args_set(int argc, const VALUE *argv, # endif { int i, argi = 0, vari = 0; - VALUE *var, hash = Qnil, last_hash = 0; + VALUE *var, hash = Qnil; const int n_mand = n_lead + n_trail; if (f_hash && argc > 0 && rb_keyword_given_p()) { @@ -2517,11 +2517,7 @@ rb_scan_args_set(int argc, const VALUE *argv, var = vars[vari++]; if (0 < n_var) { - if (var) { - int f_last = (argc == n_trail); - *var = rb_ary_new4(n_var-f_last, &argv[argi]); - if (f_last) rb_ary_push(*var, last_hash); - } + if (var) *var = rb_ary_new4(n_var, &argv[argi]); argi += n_var; } else { |