From d627ae4ec1b0cdf09c0e99c4a5197c0c507bd235 Mon Sep 17 00:00:00 2001 From: Malcolm Beattie Date: Wed, 19 Nov 1997 15:33:23 +0000 Subject: [PATCH] avhv_keys under Digital UNIX made avhv.t fail because *keysp was changed by mg_get(*keysp) (!). Introducing a new local variable fixed it but I don't know if it's a compiler problem or some other corruption happening elsewhere. p4raw-id: //depot/perl@269 --- av.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/av.c b/av.c index 5ac68587cc..176844294e 100644 --- a/av.c +++ b/av.c @@ -471,12 +471,13 @@ avhv_keys(AV *av) keysp = av_fetch(av, 0, FALSE); if (keysp) { - if (SvGMAGICAL(*keysp)) - mg_get(*keysp); - if (SvROK(*keysp)) { - SV *hash = SvRV(*keysp); - if (SvTYPE(hash) == SVt_PVHV) - keys = (HV*)hash; + SV *sv = *keysp; + if (SvGMAGICAL(sv)) + mg_get(sv); + if (SvROK(sv)) { + sv = SvRV(sv); + if (SvTYPE(sv) == SVt_PVHV) + keys = (HV*)sv; } } if (!keys) -- 2.34.1