diff options
author | Jarkko Hietaniemi <jhi@iki.fi> | 2001-08-12 22:46:12 +0000 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2001-08-12 22:46:12 +0000 |
commit | 84e09d5e9b0e8f355853f7c768e322224fb09c76 (patch) | |
tree | 5a2807645a588817ceccd451f28c08ab70e633e0 /pp_ctl.c | |
parent | ce6dce323a8d0f7e019f361b7d8ad8f9fea59359 (diff) | |
download | perl-84e09d5e9b0e8f355853f7c768e322224fb09c76.tar.gz |
Not quite so relicy as thought in #11651 (op/concat #4 and #5
stopped working).
p4raw-id: //depot/perl@11653
Diffstat (limited to 'pp_ctl.c')
-rw-r--r-- | pp_ctl.c | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -121,7 +121,16 @@ PP(pp_regcomp) PL_reginterp_cnt = I32_MAX; /* Mark as safe. */ pm->op_pmflags = pm->op_pmpermflags; /* reset case sensitivity */ + if (DO_UTF8(tmpstr)) + pm->op_pmdynflags |= PMdf_DYN_UTF8; + else { + pm->op_pmdynflags &= ~PMdf_DYN_UTF8; + if (pm->op_pmdynflags & PMdf_UTF8) + t = (char*)bytes_to_utf8((U8*)t, &len); + } PM_SETRE(pm, CALLREGCOMP(aTHX_ t, t + len, pm)); + if (!DO_UTF8(tmpstr) && (pm->op_pmdynflags & PMdf_UTF8)) + Safefree(t); PL_reginterp_cnt = 0; /* XXXX Be extra paranoid - needed inside tie/overload accessors. */ } |