text: longjmp()
  Restore the environment saved by setjmp()
  Synopsis:
  #include <setjmp.h> void longjmp( jmp_buf env, int return_value );
  Since:
  BlackBerry 10.0.0
  Arguments:
  Library:
  libc
  Use the -l c option to qcc to link against this library. This library is usually included automatically.
  Description:
  The longjmp() function restores the environment saved in env by the most recent call to the setjmp() function.
  Returns:
  After the longjmp() function restores the environment, program execution continues as if the corresponding call to setjmp() had just returned the value specified by return_value. If the value of return_value is 0, the value returned is 1.
  Examples:
  #include <stdio.h> #include <stdlib.h> #include <setjmp.h> jmp_buf env; void rtn( void ) { printf( "about to longjmp\n" ); longjmp( env, 14 ); } int main( void ) { int ret_val = 293; if( 0 == ( ret_val = setjmp( env ) ) ) { printf( "after setjmp %d\n", ret_val ); rtn(); printf( "back from rtn %d\n", ret_val ); } else { printf( "back from longjmp %d\n", ret_val ); } return EXIT_SUCCESS; }
  produces the following output:
  after setjmp 0 about to longjmp back from longjmp 14
  Classification:
  Caveats:
  A strictly-conforming POSIX application can't assume that the longjmp() function is signal-safe on other platforms.
  Last modified: 2014-06-24
  Got questions about leaving a comment? Get answers from our Disqus FAQ.comments powered by Disqus