blob: 8510fdae9ea39e921eb7c9afa067bc95f50ec089 [file] [log] [blame]
/**
* This file has no copyright assigned and is placed in the Public Domain.
* This file is part of the mingw-w64 runtime package.
* No warranty is given; refer to the file DISCLAIMER.PD within this package.
*/
#undef __MSVCRT_VERSION__
#define _UCRT
#include <setjmp.h>
#include <windef.h>
#include <winbase.h>
void __cdecl longjmp( jmp_buf b, int retval )
{
_JUMP_BUFFER *buf = (_JUMP_BUFFER *)b;
EXCEPTION_RECORD rec;
if (!retval) retval = 1;
rec.ExceptionCode = STATUS_LONGJUMP;
rec.ExceptionFlags = 0;
rec.ExceptionRecord = NULL;
rec.ExceptionAddress = NULL;
rec.NumberParameters = 1;
rec.ExceptionInformation[0] = (DWORD_PTR)buf;
RtlUnwind( (void *)buf->Frame, (void *)buf->Rip, &rec, IntToPtr(retval) );
}
void (__cdecl *__MINGW_IMP_SYMBOL(longjmp))( jmp_buf b, int retval ) = longjmp;