Change 14938 by jhi@alpha on 2002/03/02 02:24:25
Subject: PATCH (bleadperl): Quieter handling of tied arrays
From: Mark-Jason Dominus <[EMAIL PROTECTED]>
Date: Fri, 01 Mar 2002 18:35:35 -0500
Message-ID: <[EMAIL PROTECTED]>
Affected files ...
.... //depot/perl/av.c#64 edit
Differences ...
==== //depot/perl/av.c#64 (text) ====
Index: perl/av.c
--- perl/av.c.~1~ Fri Mar 1 19:30:05 2002
+++ perl/av.c Fri Mar 1 19:30:05 2002
@@ -514,8 +514,8 @@
SV *retval;
MAGIC* mg;
- if (!av || AvFILL(av) < 0)
- return &PL_sv_undef;
+ if (!av)
+ return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
if ((mg = SvTIED_mg((SV*)av, PERL_MAGIC_tied))) {
@@ -534,6 +534,8 @@
POPSTACK;
return retval;
}
+ if (AvFILL(av) < 0)
+ return &PL_sv_undef;
retval = AvARRAY(av)[AvFILLp(av)];
AvARRAY(av)[AvFILLp(av)--] = &PL_sv_undef;
if (SvSMAGICAL(av))
@@ -559,7 +561,7 @@
MAGIC* mg;
I32 slide;
- if (!av || num <= 0)
+ if (!av)
return;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
@@ -581,6 +583,8 @@
return;
}
+ if (num <= 0)
+ return;
if (!AvREAL(av) && AvREIFY(av))
av_reify(av);
i = AvARRAY(av) - AvALLOC(av);
@@ -626,7 +630,7 @@
SV *retval;
MAGIC* mg;
- if (!av || AvFILL(av) < 0)
+ if (!av)
return &PL_sv_undef;
if (SvREADONLY(av))
Perl_croak(aTHX_ PL_no_modify);
@@ -646,6 +650,8 @@
POPSTACK;
return retval;
}
+ if (AvFILL(av) < 0)
+ return &PL_sv_undef;
retval = *AvARRAY(av);
if (AvREAL(av))
*AvARRAY(av) = &PL_sv_undef;
End of Patch.