Change 18090 by [EMAIL PROTECTED] on 2002/11/04 15:49:29 extend #13786 to cover the other four identical chunks of code to avoid looping under overload.
Affected files ... .... //depot/perl/sv.c#597 edit Differences ... ==== //depot/perl/sv.c#597 (text) ==== Index: perl/sv.c --- perl/sv.c#596~18058~ Thu Oct 24 16:36:48 2002 +++ perl/sv.c Mon Nov 4 07:49:29 2002 @@ -2026,7 +2026,7 @@ if (SvROK(sv)) { SV* tmpstr; if (SvAMAGIC(sv) && (tmpstr=AMG_CALLun(sv,numer)) && - (SvTYPE(tmpstr) != SVt_RV || (SvRV(tmpstr) != SvRV(sv)))) + (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) return SvIV(tmpstr); return PTR2IV(SvRV(sv)); } @@ -2323,7 +2323,7 @@ if (SvROK(sv)) { SV* tmpstr; if (SvAMAGIC(sv) && (tmpstr=AMG_CALLun(sv,numer)) && - (SvTYPE(tmpstr) != SVt_RV || (SvRV(tmpstr) != SvRV(sv)))) + (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) return SvUV(tmpstr); return PTR2UV(SvRV(sv)); } @@ -2611,7 +2611,7 @@ if (SvROK(sv)) { SV* tmpstr; if (SvAMAGIC(sv) && (tmpstr=AMG_CALLun(sv,numer)) && - (SvTYPE(tmpstr) != SVt_RV || (SvRV(tmpstr) != SvRV(sv)))) + (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) return SvNV(tmpstr); return PTR2NV(SvRV(sv)); } @@ -2931,7 +2931,7 @@ if (SvROK(sv)) { SV* tmpstr; if (SvAMAGIC(sv) && (tmpstr=AMG_CALLun(sv,string)) && - (SvTYPE(tmpstr) != SVt_RV || (SvRV(tmpstr) != SvRV(sv)))) { + (!SvROK(tmpstr) || (SvRV(tmpstr) != SvRV(sv)))) { char *pv = SvPV(tmpstr, *lp); if (SvUTF8(tmpstr)) SvUTF8_on(sv); End of Patch.