#include <setjmp.h>
jmp_buf j;
foo (a, n)
{
setjmp (j);
if (n-- == 0) return;
printf ("foo: %d\n", a);
bar (a);
}
bar (b)
{
printf ("bar: %d\n", ++b);
longjmp (j);
}
main ()
{
foo (1, 3);
}
#if 0
CUCS20!dsk:test.exe
foo: 1
bar: 2
foo: 2
bar: 3
foo: 3
bar: 4
CUCS20!journal close
#endif