diff options
author | Nicholas Clark <nick@ccl4.org> | 2011-01-02 20:56:21 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2011-01-02 20:56:21 +0000 |
commit | 9c9f25b8ce09796ec5e5e4e5c76f43506c223a8f (patch) | |
tree | 0a350bd0d84bb3068db4da380354fca0ac235de4 /pp_hot.c | |
parent | 9426e1a55981168c83a030df9bce5e0b46586581 (diff) | |
download | perl-9c9f25b8ce09796ec5e5e4e5c76f43506c223a8f.tar.gz |
GvIO(gv) returns NULL for a NULL gv, so refactor to take advantage of this.
Simplify tests of !gv || !io to just !io, avoid calling GvIO(gv) more than
once, and where possible initialise io at declaration time, to allow it to be
const.
Diffstat (limited to 'pp_hot.c')
-rw-r--r-- | pp_hot.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -710,13 +710,13 @@ PP(pp_pushre) PP(pp_print) { dVAR; dSP; dMARK; dORIGMARK; - IO *io; register PerlIO *fp; MAGIC *mg; GV * const gv = (PL_op->op_flags & OPf_STACKED) ? MUTABLE_GV(*++MARK) : PL_defoutgv; + IO *io = GvIO(gv); - if (gv && (io = GvIO(gv)) + if (io && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar))) { had_magic: @@ -746,7 +746,7 @@ PP(pp_print) SP = MARK; RETURN; } - if (!(io = GvIO(gv))) { + if (!io) { if ( gv && GvEGVx(gv) && (io = GvIO(GvEGV(gv))) && (mg = SvTIED_mg((const SV *)io, PERL_MAGIC_tiedscalar))) goto had_magic; |