fix for [perl #65582] anon globs segfaulting
authorDavid Mitchell <davem@iabyn.com>
Tue, 12 Jan 2010 00:14:41 +0000 (00:14 +0000)
committerDavid Mitchell <davem@iabyn.com>
Tue, 12 Jan 2010 00:26:59 +0000 (00:26 +0000)
commit1809c940bf4737dd262fc0c026e063316c466a28
tree5f96ecc22b872c5f31e662bccc2de73d88cb1821
parent0097b436152452e403cc71b4f1a1cfd30ec0ba1a
fix for [perl #65582] anon globs segfaulting

The following code has had differing behaviours:

    my $io_ref = *STDOUT{IO};
    my $glob = *$io_ref;

          defined($glob)    "$glob"
          --------------    -------
5.8.8       false           "" with uninit warning
5.10.0      true            (coredump)
this commit true            ""

$glob is essentially an anonymous typeglob (no NAME, EGV or GvSTASH).
It shouldn't register as undefined since it's clearly a valid GV with a
valid IO slot; Stringifying to "" seems to be the right thing, and not
warning seems right too, since its not undef.
sv.c
t/op/gv.t