diff options
author | Nicholas Clark <nick@ccl4.org> | 2006-09-16 17:07:03 +0000 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2006-09-16 17:07:03 +0000 |
commit | cc8d50a7c6a04d7a7e152c0e2861bc370cc6c9e6 (patch) | |
tree | e85ad458b84c9cc33619f4a01a8dbe660d7af67c /sv.c | |
parent | 44abc943eb062867457a44655d95023ddfb75877 (diff) | |
download | perl-cc8d50a7c6a04d7a7e152c0e2861bc370cc6c9e6.tar.gz |
Revert changes 28772, 28773, 28774 as they won't gain us anything - I
failed to realise that struct block_sub is not the largest of the
4 structures in the block.blk_u union. (It's actually block_loop)
p4raw-id: //depot/perl@28853
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -10287,13 +10287,13 @@ Perl_cx_dup(pTHX_ PERL_CONTEXT *cxs, I32 ix, I32 max, CLONE_PARAMS* param) ncx->blk_sub.cv = (cx->blk_sub.olddepth == 0 ? cv_dup_inc(cx->blk_sub.cv, param) : cv_dup(cx->blk_sub.cv,param)); - ncx->blk_sub.argarray = (CX_SUB_HASARGS_GET(cx) + ncx->blk_sub.argarray = (cx->blk_sub.hasargs ? av_dup_inc(cx->blk_sub.argarray, param) : NULL); ncx->blk_sub.savearray = av_dup_inc(cx->blk_sub.savearray, param); ncx->blk_sub.olddepth = cx->blk_sub.olddepth; - CX_SUB_HASARGS_SET(ncx, CX_SUB_HASARGS_GET(cx)); - CX_SUB_LVAL_SET(ncx, CX_SUB_LVAL(cx)); + ncx->blk_sub.hasargs = cx->blk_sub.hasargs; + ncx->blk_sub.lval = cx->blk_sub.lval; ncx->blk_sub.retop = cx->blk_sub.retop; ncx->blk_sub.oldcomppad = (PAD*)ptr_table_fetch(PL_ptr_table, cx->blk_sub.oldcomppad); @@ -10328,7 +10328,7 @@ Perl_cx_dup(pTHX_ PERL_CONTEXT *cxs, I32 ix, I32 max, CLONE_PARAMS* param) ncx->blk_sub.cv = cv_dup(cx->blk_sub.cv, param); ncx->blk_sub.gv = gv_dup(cx->blk_sub.gv, param); ncx->blk_sub.dfoutgv = gv_dup_inc(cx->blk_sub.dfoutgv, param); - CX_SUB_HASARGS_SET(ncx, CX_SUB_HASARGS_GET(cx)); + ncx->blk_sub.hasargs = cx->blk_sub.hasargs; ncx->blk_sub.retop = cx->blk_sub.retop; break; case CXt_BLOCK: |