Change 27535 by [EMAIL PROTECTED] on 2006/03/17 16:46:44
Restore a bit of change 27533 that change 27534 inadvertently unwound.
Affected files ...
... //depot/perl/regexec.c#379 edit
Differences ...
==== //depot/perl/regexec.c#379 (text) ====
Index: perl/regexec.c
--- perl/regexec.c#378~27534~ 2006-03-17 07:58:45.000000000 -0800
+++ perl/regexec.c 2006-03-17 08:46:44.000000000 -0800
@@ -2130,9 +2130,12 @@
if (!(SvTYPE(PL_reg_sv) >= SVt_PVMG && SvMAGIC(PL_reg_sv)
&& (mg = mg_find(PL_reg_sv, PERL_MAGIC_regex_global)))) {
/* prepare for quick setting of pos */
- sv_magic(PL_reg_sv, (SV*)0,
- PERL_MAGIC_regex_global, NULL, 0);
- mg = mg_find(PL_reg_sv, PERL_MAGIC_regex_global);
+#ifdef PERL_OLD_COPY_ON_WRITE
+ if (SvIsCOW(sv))
+ sv_force_normal_flags(sv, 0);
+#endif
+ mg = sv_magicext(PL_reg_sv, (SV*)0, PERL_MAGIC_regex_global,
+ &PL_vtbl_mglob, NULL, 0);
mg->mg_len = -1;
}
PL_reg_magic = mg;
End of Patch.