From f244b085582eaec9f2cf7bfabeb686bf74167bf6 Mon Sep 17 00:00:00 2001 From: Tony Cook Date: Thu, 22 Aug 2013 09:38:24 +1000 Subject: [PATCH] [perl #119351] fix B::CV::GV to return a B::SPECIAL on NULL --- ext/B/B.xs | 5 +---- ext/B/t/b.t | 2 +- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/ext/B/B.xs b/ext/B/B.xs index 23e7620..62496e2 100644 --- a/ext/B/B.xs +++ b/ext/B/B.xs @@ -1896,11 +1896,8 @@ const_sv(cv) void GV(cv) B::CV cv - PREINIT: - GV *gv; CODE: - gv = CvGV(cv); - ST(0) = gv ? make_sv_object(aTHX_ (SV*)gv) : &PL_sv_undef; + ST(0) = make_sv_object(aTHX_ (SV*)CvGV(cv)); #if PERL_VERSION > 17 diff --git a/ext/B/t/b.t b/ext/B/t/b.t index d58d2e0..f1763b4 100644 --- a/ext/B/t/b.t +++ b/ext/B/t/b.t @@ -405,7 +405,7 @@ SKIP: ok($cv, "make a B::CV from a lexical sub reference"); isa_ok($cv, "B::CV"); my $gv = $cv->GV; - is($gv, undef, "GV on a lexical sub is NULL"); + isa_ok($gv, "B::SPECIAL", "GV on a lexical sub is NULL"); my $hek = $cv->NAME_HEK; is($hek, "bar", "check the NAME_HEK"); } -- 1.8.3.1