setjmp function sets a point for longjmp()
Syntax
C setjmp function has the following syntax.
int setjmp(jmp_buf envbuf);
Header
C setjmp function is
from header file setjmp.h
.
Description
C setjmp function
saves the contents of the system stack in the buffer
envbuf
for later use by longjmp()
.
It returns returns zero upon invocation.
Example
Set a point for longjmp() by using C setjmp function.
#include <setjmp.h>
#include <stdio.h>
//from www. j ava2 s . c om
jmp_buf ebuf;
void f2(void);
int main(void)
{
int i;
printf("1 ");
i = setjmp(ebuf);
if(i == 0) {
f2();
printf("This will not be printed.");
}
printf("%d", i);
return 0;
}
void f2(void)
{
printf("2 ");
longjmp(ebuf, 3);
}