aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-18 15:17:31 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-05-18 15:17:31 +0000
commit68b4c0605fdd3685b0e6be7a3c8f745aae01dc86 (patch)
tree0a995886937866c624459eaefaeff053ce3a0033
parent6a1b5c6cda2ec8e98f7cd7a9180febda3fd3f2fe (diff)
downloadruby-68b4c0605fdd3685b0e6be7a3c8f745aae01dc86.tar.gz
* re.c (reg_names_iter): specify capacify
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@55065 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--re.c3
2 files changed, 6 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index bafa4fd62b..b6d390578f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu May 19 00:17:01 2016 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * re.c (reg_names_iter): specify capacify
+
Wed May 18 21:29:59 2016 NAKAMURA Usaku <usa@ruby-lang.org>
* thread.c (recursive_list_access): a object id may be a Bignum. so,
diff --git a/re.c b/re.c
index 7dfd978b66..36c12a6f6b 100644
--- a/re.c
+++ b/re.c
@@ -780,8 +780,9 @@ reg_names_iter(const OnigUChar *name, const OnigUChar *name_end,
static VALUE
rb_reg_names(VALUE re)
{
- VALUE ary = rb_ary_new();
+ VALUE ary;
rb_reg_check(re);
+ ary = rb_ary_new_capa(onig_number_of_names(RREGEXP_PTR(re)));
onig_foreach_name(RREGEXP_PTR(re), reg_names_iter, (void*)ary);
return ary;
}