From 160d3165eb095d81ae6e156f832a99728c853b01 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Wed, 12 Feb 2020 20:09:57 +0900 Subject: [PATCH] Copy non-inlined encoding index --- string.c | 6 ++++++ test/ruby/test_encoding.rb | 2 ++ 2 files changed, 8 insertions(+) diff --git a/string.c b/string.c index 83c4780983..3cfe3adcac 100644 --- a/string.c +++ b/string.c @@ -1511,6 +1511,7 @@ str_duplicate(VALUE klass, VALUE str) ; VALUE flags = FL_TEST_RAW(str, flag_mask); VALUE dup = str_alloc(klass); + int encidx = 0; MEMCPY(RSTRING(dup)->as.ary, RSTRING(str)->as.ary, char, embed_size); if (flags & STR_NOEMBED) { @@ -1530,7 +1531,12 @@ str_duplicate(VALUE klass, VALUE str) char, embed_size); } } + if ((flags & ENCODING_MASK) == (ENCODING_INLINE_MAX<