X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=Upper.xs;h=2e2c2a523ab1d5de8b6c7ae710c6221a8333d6a0;hb=c6120af4f7a3990cebfdd10df0523832f560abd3;hp=702481594747b6e41c6753b5f9304e1fecae3cf7;hpb=97dc8ef80311dba0ff5058c2ee54caa8193b5c51;p=perl%2Fmodules%2FScope-Upper.git diff --git a/Upper.xs b/Upper.xs index 7024815..2e2c2a5 100644 --- a/Upper.xs +++ b/Upper.xs @@ -1010,7 +1010,7 @@ static void su_pop(pTHX_ void *ud) { #if SU_HAS_PERL(5, 19, 4) cx = cxstack + cxstack_ix; - if (CxTYPE(cx) == CXt_SUB) + if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) save = PL_scopestack[cx->blk_oldscopesp - 1]; #endif @@ -1018,7 +1018,7 @@ static void su_pop(pTHX_ void *ud) { leave_scope(base); #if SU_HAS_PERL(5, 19, 4) - if (CxTYPE(cx) == CXt_SUB) + if (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT) PL_scopestack[cx->blk_oldscopesp - 1] = save; #endif } @@ -2221,7 +2221,7 @@ static I32 su_context_gimme(pTHX_ I32 cxix) { /* --- Global setup/teardown ----------------------------------------------- */ -static U32 su_initialized = 0; +static VOL U32 su_initialized = 0; static void su_global_teardown(pTHX_ void *root) { if (!su_initialized)