notejmp.c 282 B

1234567891011121314151617
  1. #include <u.h>
  2. #include <libc.h>
  3. #define UREGVARSZ 4 /* not right but doesn't matter */
  4. #include <ureg.h>
  5. void
  6. notejmp(void *vr, jmp_buf j, int ret)
  7. {
  8. struct Ureg *r = vr;
  9. r->r0 = ret;
  10. if(ret == 0)
  11. r->r0 = 1;
  12. r->pc = j[JMPBUFPC];
  13. r->usp = j[JMPBUFSP] + 4;
  14. noted(NCONT);
  15. }