New try at the Class::DBI core dump at global cleanup.
Jarkko Hietaniemi [Thu, 2 May 2002 03:33:14 +0000 (03:33 +0000)]
p4raw-id: //depot/perl@16325

gv.h
util.c

diff --git a/gv.h b/gv.h
index 7db4ba0..39b61fe 100644 (file)
--- a/gv.h
+++ b/gv.h
@@ -42,7 +42,7 @@ Return the SV from the GV.
 
 #define GvSV(gv)       (GvGP(gv)->gp_sv)
 #define GvREFCNT(gv)   (GvGP(gv)->gp_refcnt)
-#define GvIO(gv)       ((gv) && SvTYPE((SV*)gv) == SVt_PVGV ? GvIOp(gv) : 0)
+#define GvIO(gv)       ((gv) && SvTYPE((SV*)gv) == SVt_PVGV && GvGP(gv) ? GvIOp(gv) : 0)
 #define GvIOp(gv)      (GvGP(gv)->gp_io)
 #define GvIOn(gv)      (GvIO(gv) ? GvIOp(gv) : GvIOp(gv_IOadd(gv)))
 
diff --git a/util.c b/util.c
index a5b9c9b..35d54c3 100644 (file)
--- a/util.c
+++ b/util.c
@@ -1109,8 +1109,7 @@ Perl_vmess(pTHX_ const char *pat, va_list *args)
        if (CopLINE(cop))
            Perl_sv_catpvf(aTHX_ sv, " at %s line %"IVdf,
            OutCopFILE(cop), (IV)CopLINE(cop));
-       if (GvIO(PL_last_in_gv) && GvGP(PL_last_in_gv) &&
-           IoLINES(GvIOp(PL_last_in_gv))) {
+       if (GvIO(PL_last_in_gv) && IoLINES(GvIOp(PL_last_in_gv))) {
            bool line_mode = (RsSIMPLE(PL_rs) &&
                              SvCUR(PL_rs) == 1 && *SvPVX(PL_rs) == '\n');
            Perl_sv_catpvf(aTHX_ sv, ", <%s> %s %"IVdf,