From: Nicholas Clark Date: Tue, 21 Feb 2006 20:09:25 +0000 (+0000) Subject: Can merge the two arms of Perl_magic_getglob to save space. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=fd13b0dcd66223c4c2556f134a38b299c80ace69;p=p5sagit%2Fp5-mst-13.2.git Can merge the two arms of Perl_magic_getglob to save space. p4raw-id: //depot/perl@27265 --- diff --git a/mg.c b/mg.c index 20344ad..d9e6d76 100644 --- a/mg.c +++ b/mg.c @@ -1839,14 +1839,15 @@ Perl_magic_setpos(pTHX_ SV *sv, MAGIC *mg) int Perl_magic_getglob(pTHX_ SV *sv, MAGIC *mg) { + const U32 wasfake = SvFLAGS(sv) & SVf_FAKE; PERL_UNUSED_ARG(mg); - if (SvFAKE(sv)) { /* FAKE globs can get coerced */ - SvFAKE_off(sv); - gv_efullname3(sv,((GV*)sv), "*"); - SvFAKE_on(sv); - } - else - gv_efullname3(sv,((GV*)sv), "*"); /* a gv value, be nice */ + + /* FAKE globs can get coerced, so need to turn this off temporarily if it + is on. */ + SvFAKE_off(sv); + gv_efullname3(sv,((GV*)sv), "*"); + SvFLAGS(sv) |= wasfake; + return 0; }