summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gv.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/gv.h b/gv.h
index 9034e5984f..0c776ba870 100644
--- a/gv.h
+++ b/gv.h
@@ -42,9 +42,9 @@ Return the SV from the GV.
#define GvSV(gv) (GvGP(gv)->gp_sv)
#ifdef PERL_DONT_CREATE_GVSV
-#define GvSVn(gv) (GvGP(gv)->gp_sv ? \
- GvGP(gv)->gp_sv : \
- GvGP(gv_SVadd(gv))->gp_sv)
+#define GvSVn(gv) (*(GvGP(gv)->gp_sv ? \
+ &(GvGP(gv)->gp_sv) : \
+ &(GvGP(gv_SVadd(gv))->gp_sv)))
#else
#define GvSVn(gv) GvSV(gv)
#endif