diff options
Diffstat (limited to 'py/nlrsetjmp.c')
-rw-r--r-- | py/nlrsetjmp.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/py/nlrsetjmp.c b/py/nlrsetjmp.c new file mode 100644 index 0000000000..a97c8634b2 --- /dev/null +++ b/py/nlrsetjmp.c @@ -0,0 +1,16 @@ +#include <setjmp.h> +#include <stdio.h> +#include "nlr.h" + +#if MICROPY_NLR_SETJMP + +nlr_buf_t *nlr_setjmp_top; + +void nlr_setjmp_jump(void *val) { + nlr_buf_t *buf = nlr_setjmp_top; + nlr_setjmp_top = buf->prev; + buf->ret_val = val; + longjmp(buf->jmpbuf, 1); +} + +#endif |