setjmp.c revision 1.1.1.1
1/*	$NetBSD: setjmp.c,v 1.1.1.1 2018/08/16 18:17:47 jmcneill Exp $	*/
2
3
4#include <efi.h>
5#include <efilib.h>
6
7EFI_STATUS
8efi_main(
9	EFI_HANDLE image_handle,
10	EFI_SYSTEM_TABLE *systab
11)
12{
13	jmp_buf env;
14	int rc;
15
16	InitializeLib(image_handle, systab);
17	rc = setjmp(&env);
18	Print(L"setjmp() = %d\n", rc);
19
20	if (rc == 3) {
21		Print(L"3 worked\n");
22		longjmp(&env, 0);
23		return 0;
24	}
25
26	if (rc == 1) {
27		Print(L"0 got to be one yay\n");
28		return 0;
29	}
30
31	longjmp(&env, 3);
32	return 0;
33}
34