blob: b6f219df58aad156f1244939871447df4ad31c47 [file] [log] [blame]
#include <setjmp.h>
#include <stdio.h>
void foo(jmp_buf buf, int i)
{
printf("Inside foo: %d\n", i);
longjmp(buf, i);
}
int main()
{
int i = 37;
while (i--) {
jmp_buf buf;
int ret;
if ((ret = setjmp(buf)) != 0) {
printf("Return from longjmp: %d\n", ret);
} else {
foo(buf, i);
}
}
return 0;
}