summaryrefslogtreecommitdiffstatshomepage
path: root/esp8266/utils.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-04-13 00:01:28 +0100
committerDamien George <damien.p.george@gmail.com>2016-04-13 00:01:28 +0100
commit3177ef544f5ecdfe5810461734fce470249e8129 (patch)
tree7ba7d8c9e844b786e5234996f4c4fe4c81dd8cdf /esp8266/utils.c
parentb67d09884137be7c8faaaf641ea22a014e7d4cb0 (diff)
downloadmicropython-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.c12
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;
}
}