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