From 54bbc062fb7190745e4521716761535eaa99a986 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Sat, 21 May 2022 08:51:11 +0900 Subject: [PATCH] string.c (index,rindex) use single byte version for ASCII strings. --- src/string.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/string.c b/src/string.c index 9dce703e2..95a914149 100644 --- a/src/string.c +++ b/src/string.c @@ -1789,6 +1789,10 @@ mrb_str_byteindex_m(mrb_state *mrb, mrb_value str) static mrb_value mrb_str_index_m(mrb_state *mrb, mrb_value str) { + if (RSTR_ASCII_P(mrb_str_ptr(str))) { + return mrb_str_byteindex_m(mrb, str); + } + mrb_value sub; mrb_int pos; @@ -2056,6 +2060,10 @@ mrb_str_byterindex_m(mrb_state *mrb, mrb_value str) static mrb_value mrb_str_rindex_m(mrb_state *mrb, mrb_value str) { + if (RSTR_ASCII_P(mrb_str_ptr(str))) { + return mrb_str_byterindex_m(mrb, str); + } + mrb_value sub; mrb_int pos; mrb_int len = RSTRING_CHAR_LEN(str);