diff --git a/esp8266/utils.c b/esp8266/utils.c index e91ebe318deef13b78275559a607ec2b2ffb5311..b2bdcffbe5033bcfc9030a25e81100197911c30b 100644 --- a/esp8266/utils.c +++ b/esp8266/utils.c @@ -29,22 +29,22 @@ #include "py/obj.h" #include "py/nlr.h" -mp_obj_t call_function_1_protected(mp_obj_t fun, mp_obj_t arg) { +void call_function_1_protected(mp_obj_t fun, mp_obj_t arg) { nlr_buf_t nlr; if (nlr_push(&nlr) == 0) { - return mp_call_function_1(fun, arg); + mp_call_function_1(fun, arg); + nlr_pop(); } else { mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val); - return (mp_obj_t)nlr.ret_val; } } -mp_obj_t call_function_2_protected(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2) { +void call_function_2_protected(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2) { nlr_buf_t nlr; if (nlr_push(&nlr) == 0) { - return mp_call_function_2(fun, arg1, arg2); + mp_call_function_2(fun, arg1, arg2); + nlr_pop(); } else { mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val); - return (mp_obj_t)nlr.ret_val; } } diff --git a/esp8266/utils.h b/esp8266/utils.h index ceef9720e884b6539faef5f9a1d768dc68a50f50..c6a4f1f3e6511c8c87be174b03715bfbbbc64ef2 100644 --- a/esp8266/utils.h +++ b/esp8266/utils.h @@ -25,5 +25,5 @@ * THE SOFTWARE. */ -mp_obj_t call_function_1_protected(mp_obj_t fun, mp_obj_t arg); -mp_obj_t call_function_2_protected(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2); +void call_function_1_protected(mp_obj_t fun, mp_obj_t arg); +void call_function_2_protected(mp_obj_t fun, mp_obj_t arg1, mp_obj_t arg2);