@@ -4982,6 +4982,9 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
4982
4982
return FAILURE ;
4983
4983
}
4984
4984
4985
+ znode closure ;
4986
+ zend_compile_func_decl (& closure , args -> child [0 ], 0 );
4987
+
4985
4988
znode expr_node , reset_node , value_node /*, key_node*/ ;
4986
4989
zend_op * opline ;
4987
4990
uint32_t opnum_reset , opnum_fetch ;
@@ -4994,8 +4997,6 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
4994
4997
4995
4998
opnum_fetch = get_next_op_number ();
4996
4999
opline = zend_emit_op (NULL , ZEND_FE_FETCH_R , & reset_node , NULL );
4997
- znode closure ;
4998
- zend_compile_func_decl (& closure , args -> child [0 ], 0 );
4999
5000
5000
5001
opline -> op2_type = IS_VAR ;
5001
5002
opline -> op2 .var = get_temporary_variable ();
@@ -5005,7 +5006,10 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
5005
5006
opline = zend_emit_op (NULL , ZEND_SEND_VAR_EX , & value_node , NULL );
5006
5007
opline -> op2 .opline_num = 1 ;
5007
5008
opline -> result .var = EX_NUM_TO_VAR (1 - 1 );
5008
- zend_emit_op (NULL , ZEND_DO_FCALL , NULL , NULL );
5009
+ znode return_value ;
5010
+ zend_emit_op (& return_value , ZEND_DO_FCALL , NULL , NULL );
5011
+ /* opline = zend_emit_op(NULL, ZEND_ASSIGN_DIM, result, NULL);
5012
+ zend_emit_op_data(&return_value);*/
5009
5013
5010
5014
zend_emit_jump (opnum_fetch );
5011
5015
0 commit comments