@@ -5054,6 +5054,9 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
50545054 return FAILURE ;
50555055 }
50565056
5057+ znode closure ;
5058+ zend_compile_func_decl (& closure , args -> child [0 ], 0 );
5059+
50575060 znode expr_node , reset_node , value_node /*, key_node*/ ;
50585061 zend_op * opline ;
50595062 uint32_t opnum_reset , opnum_fetch ;
@@ -5066,8 +5069,6 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
50665069
50675070 opnum_fetch = get_next_op_number ();
50685071 opline = zend_emit_op (NULL , ZEND_FE_FETCH_R , & reset_node , NULL );
5069- znode closure ;
5070- zend_compile_func_decl (& closure , args -> child [0 ], 0 );
50715072
50725073 opline -> op2_type = IS_VAR ;
50735074 opline -> op2 .var = get_temporary_variable ();
@@ -5077,7 +5078,10 @@ static zend_result zend_compile_func_array_map(znode *result, zend_ast_list *arg
50775078 opline = zend_emit_op (NULL , ZEND_SEND_VAR_EX , & value_node , NULL );
50785079 opline -> op2 .opline_num = 1 ;
50795080 opline -> result .var = EX_NUM_TO_VAR (1 - 1 );
5080- zend_emit_op (NULL , ZEND_DO_FCALL , NULL , NULL );
5081+ znode return_value ;
5082+ zend_emit_op (& return_value , ZEND_DO_FCALL , NULL , NULL );
5083+ /* opline = zend_emit_op(NULL, ZEND_ASSIGN_DIM, result, NULL);
5084+ zend_emit_op_data(&return_value);*/
50815085
50825086 zend_emit_jump (opnum_fetch );
50835087
0 commit comments