summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authorS-H-GAMELINKS <gamelinks007@gmail.com>2024-09-26 22:04:49 +0900
committerNobuyoshi Nakada <nobu.nakada@gmail.com>2024-09-27 19:34:35 +0900
commit7f83bd3732b9ecb66655416a58b4c2bf329afa20 (patch)
treeb585ada750467553e3b128b60af2cb3b2a5fba9d /parse.y
parentc1ee5ea28f1684250b1386d8ac9d1e754f54a79e (diff)
Reduce `is_ascii_string` function dependency for parser
Changed to use `rb_parser_is_ascii_string` function instead of `is_ascii_string` function
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/11698
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y9
1 files changed, 7 insertions, 2 deletions
diff --git a/parse.y b/parse.y
index 94c4c5da4d..3e0a903b77 100644
--- a/parse.y
+++ b/parse.y
@@ -7694,16 +7694,21 @@ static VALUE
parser_str_new(struct parser_params *p, const char *ptr, long len, rb_encoding *enc, int func, rb_encoding *enc0)
{
VALUE str;
+ rb_parser_string_t *pstr;
+
+ pstr = rb_parser_encoding_string_new(p, ptr, len, enc);
+ str = rb_str_new_mutable_parser_string(pstr);
- str = rb_enc_str_new(ptr, len, enc);
if (!(func & STR_FUNC_REGEXP) && rb_enc_asciicompat(enc)) {
- if (is_ascii_string(str)) {
+ if (rb_parser_is_ascii_string(p, pstr)) {
}
else if (rb_is_usascii_enc((void *)enc0) && enc != rb_utf8_encoding()) {
rb_enc_associate(str, rb_ascii8bit_encoding());
}
}
+ rb_parser_string_free(p, pstr);
+
return str;
}