summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-02-06 18:08:28 +0000
committerMalcolm Beattie <mbeattie@sable.ox.ac.uk>1998-02-06 18:08:28 +0000
commit0d97519653b39d2432704118e29dad7e033546b5 (patch)
tree51bf57a4ec231df290bf88d470c8e5f59ccd0e05 /gv.c
parent567b3f27bc31d6c040d221f376cd7a9236ef7718 (diff)
downloadperl-0d97519653b39d2432704118e29dad7e033546b5.tar.gz
Fix up problem with gv.c from change 477.
Fix up Config.pm use in t/lib/ph.t from change 478. p4raw-id: //depot/perl@484
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gv.c b/gv.c
index 9ef439b385..3633e7bf62 100644
--- a/gv.c
+++ b/gv.c
@@ -428,9 +428,14 @@ gv_fetchpv(char *nambeg, I32 add, I32 sv_type)
gvp = (GV**)hv_fetch(stash,tmpbuf,len,add);
if (tmpbuf != autobuf)
Safefree(tmpbuf);
-
- if (!gv || gv == (GV*)&sv_undef)
+ if (!gvp || *gvp == (GV*)&sv_undef)
return Nullgv;
+ gv = *gvp;
+
+ if (SvTYPE(gv) == SVt_PVGV)
+ GvMULTI_on(gv);
+ else if (!add)
+ return Nullgv;
else
gv_init(gv, stash, nambeg, namend - nambeg, (add & 2));