fix glob-assign for FORMAT
authorH.Merijn Brand <h.m.brand@xs4all.nl>
Wed, 20 May 2009 14:45:36 +0000 (16:45 +0200)
committerDavid Mitchell <davem@iabyn.com>
Wed, 20 May 2009 21:36:47 +0000 (22:36 +0100)
(cherry picked from commit ef595a33cf693d23c7caebc0a4299b55da3269cb)

sv.c
t/op/write.t

diff --git a/sv.c b/sv.c
index 4ff7f40..a2fd856 100644 (file)
--- a/sv.c
+++ b/sv.c
@@ -3503,6 +3503,7 @@ S_glob_assign_ref(pTHX_ SV *dstr, SV *sstr)
        goto common;
     case SVt_PVFM:
        location = (SV **) &GvFORM(dstr);
+       goto common;
     default:
        location = &GvSV(dstr);
        import_flag = GVf_IMPORTED_SV;
index 07b5f73..f13ac5f 100755 (executable)
@@ -61,7 +61,7 @@ for my $tref ( @NumTests ){
 my $bas_tests = 20;
 
 # number of tests in section 3
-my $bug_tests = 4 + 3 * 3 * 5 * 2 * 3 + 2 + 1;
+my $bug_tests = 4 + 3 * 3 * 5 * 2 * 3 + 2 + 1 + 1;
 
 # number of tests in section 4
 my $hmb_tests = 35;
@@ -607,6 +607,9 @@ $= = 10;
 select $oldfh;
 close STDOUT_DUP;
 
+*CmT =  *{$::{Comment}}{FORMAT};
+ok  defined *{$::{CmT}}{FORMAT}, "glob assign";
+
 fresh_perl_like(<<'EOP', qr/^Format STDOUT redefined at/, {stderr => 1}, '#64562 - Segmentation fault with redefined formats and warnings');
 #!./perl