diff options
| author | Damien George | 2016-04-13 00:01:28 +0100 |
|---|---|---|
| committer | Damien George | 2016-04-13 00:01:28 +0100 |
| commit | 3177ef544f5ecdfe5810461734fce470249e8129 (patch) | |
| tree | 7ba7d8c9e844b786e5234996f4c4fe4c81dd8cdf | |
| parent | b67d09884137be7c8faaaf641ea22a014e7d4cb0 (diff) | |
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.
| -rw-r--r-- | esp8266/utils.c | 12 | ||||
| -rw-r--r-- | esp8266/utils.h | 4 |
2 files changed, 8 insertions, 8 deletions
diff --git a/esp8266/utils.c b/esp8266/utils.c index e91ebe318..b2bdcffbe 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 ceef9720e..c6a4f1f3e 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); |
