| 24 | } |
| 25 | |
| 26 | int main(int argc, char **argv) { |
| 27 | fp = argc == 200 ? NULL : second; |
| 28 | |
| 29 | volatile int x = 0; |
| 30 | if (!setjmp(buf)) { |
| 31 | x++; |
| 32 | first(); // when executed, setjmp returns 0 |
| 33 | } else { // when longjmp jumps back, setjmp returns 1 |
| 34 | printf("main: %d\n", x); // prints |
| 35 | } |
| 36 | |
| 37 | return 0; |
| 38 | } |