From: John E. Malmberg Date: Sat, 27 Aug 2005 19:20:50 +0000 (-0400) Subject: [patch@25334] hv.c vms environment fix. X-Git-Tag: perl-5.9.3~1241 X-Git-Url: https://perl5.git.perl.org/perl5.git/commitdiff_plain/03026e68943709ca8a44f2b7298e79491a3245b9 [patch@25334] hv.c vms environment fix. From: "John E. Malmberg" Message-ID: <4310F552.8050401@qsl.net> p4raw-id: //depot/perl@25335 --- diff --git a/hv.c b/hv.c index 06e3a47..32503a9 100644 --- a/hv.c +++ b/hv.c @@ -1983,8 +1983,17 @@ Perl_hv_iternext_flags(pTHX_ HV *hv, I32 flags) return Null(HE*); } #ifdef DYNAMIC_ENV_FETCH /* set up %ENV for iteration */ - if (!entry && SvRMAGICAL((SV*)hv) && mg_find((SV*)hv, PERL_MAGIC_env)) + if (!entry && SvRMAGICAL((SV*)hv) && mg_find((SV*)hv, PERL_MAGIC_env)) { prime_env_iter(); +#ifdef VMS + /* The prime_env_iter() on VMS just loaded up new hash values + * so the iteration count needs to be reset back to the beginning + */ + hv_iterinit(hv); + iter = HvAUX(hv); + oldentry = entry = iter->xhv_eiter; /* HvEITER(hv) */ +#endif + } #endif /* hv_iterint now ensures this. */