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