From 0d092c369b1b264b1238936288c807173152e270 Mon Sep 17 00:00:00 2001 From: Nicholas Clark Date: Wed, 17 Jan 2007 15:42:54 +0000 Subject: [PATCH] If we use SvUPGRADE() rather than sv_upgrade() then it can make the decision on not "up"grading PVLV to PVGV for us. However, it appears that the other actions conducted for "not-yet-a-glob" are useful here. p4raw-id: //depot/perl@29852 --- sv.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sv.c b/sv.c index bfc9ee7..2d4fc39 100644 --- a/sv.c +++ b/sv.c @@ -3171,15 +3171,14 @@ S_glob_assign_glob(pTHX_ SV *dstr, SV *sstr, const int dtype) if (dtype != SVt_PVGV) { const char * const name = GvNAME(sstr); const STRLEN len = GvNAMELEN(sstr); - /* don't upgrade SVt_PVLV: it can hold a glob */ - if (dtype != SVt_PVLV) { + { if (dtype >= SVt_PV) { SvPV_free(dstr); SvPV_set(dstr, 0); SvLEN_set(dstr, 0); SvCUR_set(dstr, 0); } - sv_upgrade(dstr, SVt_PVGV); + SvUPGRADE(dstr, SVt_PVGV); (void)SvOK_off(dstr); /* FIXME - why are we doing this, then turning it off and on again below? */ -- 2.7.4