In perl.git, the branch blead has been updated

<http://perl5.git.perl.org/perl.git/commitdiff/395b8e2d02eadc9b0639534410c39c530bc8a33d?hp=1266f6a243b5c49226a55a1f60d6fa0ce69e5b1a>

- Log -----------------------------------------------------------------
commit 395b8e2d02eadc9b0639534410c39c530bc8a33d
Author: Chip Salzenberg <[email protected]>
Date:   Tue Jul 27 20:45:41 2010 -0700

    Fix off-by-one: avoid allocating an extra context
    (patch req by Nicholas)
-----------------------------------------------------------------------

Summary of changes:
 cop.h   |    2 +-
 scope.c |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cop.h b/cop.h
index e5370c4..7d90891 100644
--- a/cop.h
+++ b/cop.h
@@ -732,7 +732,7 @@ struct context {
 #define CxFOREACHDEF(c)        ((CxTYPE_is_LOOP(c) && CxTYPE(c) != 
CXt_LOOP_PLAIN) \
                         && ((c)->cx_type & CXp_FOR_DEF))
 
-#define CXINC (cxstack_ix < cxstack_max ? ++cxstack_ix : (cxstack_ix = 
cxinc()))
+#define CXINC ((cxstack_ix + 1) < cxstack_max ? ++cxstack_ix : (cxstack_ix = 
cxinc()))
 
 /* 
 =head1 "Gimme" Values
diff --git a/scope.c b/scope.c
index 92e9523..2d9e383 100644
--- a/scope.c
+++ b/scope.c
@@ -77,10 +77,10 @@ Perl_cxinc(pTHX)
     dVAR;
     const IV old_max = cxstack_max;
     cxstack_max = GROW(cxstack_max);
-    Renew(cxstack, cxstack_max + 1, PERL_CONTEXT);     /* XXX should fix CXINC 
macro */
+    Renew(cxstack, cxstack_max, PERL_CONTEXT);
     /* Without any kind of initialising deep enough recursion
      * will end up reading uninitialised PERL_CONTEXTs. */
-    PoisonNew(cxstack + old_max + 1, cxstack_max - old_max, PERL_CONTEXT);
+    PoisonNew(cxstack + old_max, cxstack_max - old_max, PERL_CONTEXT);
     return cxstack_ix + 1;
 }
 

--
Perl5 Master Repository

Reply via email to