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.

Reply via email to