1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 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