⛏️ index : haiku.git

/*
 * Copyright 2005-2006, Axel DΓΆrfler, axeld@pinc-software.de.
 * Distributed under the terms of the MIT License.
 */


#include <setjmp.h>
#include <stdio.h>


static void
jump_to_top_level(jmp_buf *state, int value)
{
	siglongjmp(*state, value);
}


int
main(int argc, char **argv)
{
	jmp_buf state;
	int value;

	if ((value = sigsetjmp(state, 1)) != 0) {
		printf("failed with: %d!\n", value);
	} else {
		printf("here I am: %d\n", value);
		jump_to_top_level(&state, 42);
		printf("you won't see me!\n");
	}

	puts("done.");
	return 0;
}