diff options
author | Karl Williamson <khw@cpan.org> | 2021-02-11 11:17:48 -0700 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2022-08-09 18:05:59 -0600 |
commit | c6efbad02ab04568fbee498752817f20f3124611 (patch) | |
tree | dffcddbc4ba7221f990260b517b9529ef5b59fb3 /sv.c | |
parent | 9444acab0fa8be151c488e30e8956f53a3cbd981 (diff) | |
download | perl-c6efbad02ab04568fbee498752817f20f3124611.tar.gz |
sv.c: Duplicate more variables during cloning
These locale-related ones should be getting initialized in the new
thread, but be certain.
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 8 |
1 files changed, 6 insertions, 2 deletions
@@ -15500,6 +15500,8 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, PL_collxfrm_base = proto_perl->Icollxfrm_base; PL_collxfrm_mult = proto_perl->Icollxfrm_mult; PL_strxfrm_max_cp = proto_perl->Istrxfrm_max_cp; + PL_strxfrm_is_behaved = proto_perl->Istrxfrm_is_behaved; + PL_strxfrm_NUL_replacement = proto_perl->Istrxfrm_NUL_replacement; #endif /* USE_LOCALE_COLLATE */ #ifdef USE_LOCALE_NUMERIC @@ -15818,14 +15820,16 @@ perl_clone_using(PerlInterpreter *proto_perl, UV flags, && defined(USE_THREAD_SAFE_LOCALE) \ && ! defined(HAS_QUERYLOCALE) for (i = 0; i < (int) C_ARRAY_LENGTH(PL_curlocales); i++) { - PL_curlocales[i] = savepv("."); /* An illegal value */ + PL_curlocales[i] = SAVEPV(proto_perl->Icurlocales[i]); } #endif #ifdef USE_LOCALE_CTYPE Copy(proto_perl->Ifold_locale, PL_fold_locale, 256, U8); /* Should we warn if uses locale? */ PL_warn_locale = sv_dup_inc(proto_perl->Iwarn_locale, param); - PL_in_utf8_CTYPE_locale = proto_perl->Iin_utf8_CTYPE_locale; + PL_utf8locale = proto_perl->Iutf8locale; + PL_in_utf8_CTYPE_locale = proto_perl->Iin_utf8_CTYPE_locale; + PL_in_utf8_turkic_locale = proto_perl->Iin_utf8_turkic_locale; #endif #ifdef USE_LOCALE_COLLATE |