In S_set_caret_X(), use GvSV() consistently in all conditional code.
authorNicholas Clark <nick@ccl4.org>
Tue, 13 Sep 2011 19:07:06 +0000 (21:07 +0200)
committerNicholas Clark <nick@ccl4.org>
Tue, 13 Sep 2011 19:07:06 +0000 (21:07 +0200)
Commit c69033f2a6291605 was inconsistent, in that it changed two instances
of GvSV() to GvSVn(), but not the third. The expansion of GvSV() is simpler,
and is appropriate here. Hoist the call to GvSV() out of the conditional
code.

perl.c

diff --git a/perl.c b/perl.c
index 45bc4ae..39c555c 100644 (file)
--- a/perl.c
+++ b/perl.c
@@ -1429,13 +1429,14 @@ S_set_caret_X(pTHX) {
     dVAR;
     GV* tmpgv = gv_fetchpvs("\030", GV_ADD|GV_NOTQUAL, SVt_PV); /* $^X */
     if (tmpgv) {
+       SV *const caret_x = GvSV(tmpgv);
 #ifdef HAS_PROCSELFEXE
-       S_procself_val(aTHX_ GvSV(tmpgv), PL_origargv[0]);
+       S_procself_val(aTHX_ caret_x, PL_origargv[0]);
 #else
 #ifdef OS2
-       sv_setpv(GvSVn(tmpgv), os2_execname(aTHX));
+       sv_setpv(caret_x, os2_execname(aTHX));
 #else
-       sv_setpv(GvSVn(tmpgv),PL_origargv[0]);
+       sv_setpv(caret_x, PL_origargv[0]);
 #endif
 #endif
     }