This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
allow $fh->autoflush on globrefs, and thence autovivified filehandles
authorGurusamy Sarathy <gsar@cpan.org>
Sat, 26 Feb 2000 18:18:16 +0000 (18:18 +0000)
committerGurusamy Sarathy <gsar@cpan.org>
Sat, 26 Feb 2000 18:18:16 +0000 (18:18 +0000)
(from Tom Christiansen)

p4raw-id: //depot/perl@5276

pp_hot.c

index 6027766..b1bbbc7 100644 (file)
--- a/pp_hot.c
+++ b/pp_hot.c
@@ -2757,9 +2757,13 @@ S_method_common(pTHX_ SV* meth, U32* hashp)
        *(PL_stack_base + TOPMARK + 1) = sv_2mortal(newRV((SV*)iogv));
     }
 
-    if (!ob || !SvOBJECT(ob))
+    if (!ob || !(SvOBJECT(ob)
+                || (SvTYPE(ob) == SVt_PVGV && (ob = (SV*)GvIO((GV*)ob))
+                    && SvOBJECT(ob))))
+    {
        Perl_croak(aTHX_ "Can't call method \"%s\" on unblessed reference",
                   name);
+    }
 
     stash = SvSTASH(ob);