Skip to content
Snippets Groups Projects
Commit 3177ef54 authored by Damien George's avatar Damien George
Browse files

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.
parent b67d0988
No related branches found
No related tags found
No related merge requests found
...@@ -29,22 +29,22 @@ ...@@ -29,22 +29,22 @@
#include "py/obj.h" #include "py/obj.h"
#include "py/nlr.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; nlr_buf_t nlr;
if (nlr_push(&nlr) == 0) { if (nlr_push(&nlr) == 0) {
return mp_call_function_1(fun, arg); mp_call_function_1(fun, arg);
nlr_pop();
} else { } else {
mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val); 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; nlr_buf_t nlr;
if (nlr_push(&nlr) == 0) { if (nlr_push(&nlr) == 0) {
return mp_call_function_2(fun, arg1, arg2); mp_call_function_2(fun, arg1, arg2);
nlr_pop();
} else { } else {
mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val); mp_obj_print_exception(&mp_plat_print, (mp_obj_t)nlr.ret_val);
return (mp_obj_t)nlr.ret_val;
} }
} }
...@@ -25,5 +25,5 @@ ...@@ -25,5 +25,5 @@
* THE SOFTWARE. * THE SOFTWARE.
*/ */
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);
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);
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment