diff options
author | Damien George <damien.p.george@gmail.com> | 2016-04-13 00:01:28 +0100 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-04-13 00:01:28 +0100 |
commit | 3177ef544f5ecdfe5810461734fce470249e8129 (patch) | |
tree | 7ba7d8c9e844b786e5234996f4c4fe4c81dd8cdf /esp8266/utils.c | |
parent | b67d09884137be7c8faaaf641ea22a014e7d4cb0 (diff) | |
download | micropython-3177ef544f5ecdfe5810461734fce470249e8129.tar.gz micropython-3177ef544f5ecdfe5810461734fce470249e8129.zip |
esp8266: In callback helpers, pop nlr_buf on successful call.
nlr_pop must be called if no exception was raised.
Also, return value of these callback helpers is made void because ther
is (currently) no use for it.
Diffstat (limited to 'esp8266/utils.c')
-rw-r--r-- | esp8266/utils.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/esp8266/utils.c b/esp8266/utils.c index e91ebe318d..b2bdcffbe5 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; } } |