From 4fb1438b9d7f617c7a8dc37935a960a24219e697 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 2 Oct 2017 12:23:17 +0000 Subject: use rb_hash_new_with_size() git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60101 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- re.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 're.c') diff --git a/re.c b/re.c index abdacb816d..c1c29aea37 100644 --- a/re.c +++ b/re.c @@ -820,9 +820,9 @@ reg_named_captures_iter(const OnigUChar *name, const OnigUChar *name_end, static VALUE rb_reg_named_captures(VALUE re) { - VALUE hash = rb_hash_new(); - rb_reg_check(re); - onig_foreach_name(RREGEXP_PTR(re), reg_named_captures_iter, (void*)hash); + regex_t *reg = (rb_reg_check(re), RREGEXP_PTR(re)); + VALUE hash = rb_hash_new_with_size(onig_number_of_names(reg)); + onig_foreach_name(reg, reg_named_captures_iter, (void*)hash); return hash; } -- cgit v1.2.3