ReactOS  0.4.15-dev-5112-g22d8c0f
seh0056.c
Go to the documentation of this file.
1 // Copyright (c) Microsoft. All rights reserved.
2 // Licensed under the MIT license. See LICENSE file in the project root for
3 // full license information.
4 
5 #include <windows.h>
6 #include "seh.h"
7 
8 char test[] = "SEH0056.c";
9 
10 int main() {
11  LONG Counter;
12 
13  Counter = 0;
14 
15  try {
16  Counter += 1;
17  RaiseException(EXCEPTION_INT_OVERFLOW, 0, /* no flags */
18  0, NULL);
19  }
20  except(Counter) {
21  try {
22  Counter += 3;
23  }
24  finally {
25  if (abnormal_termination() == FALSE) {
26  Counter += 5;
27  }
28  }
29  endtry
30  }
31  endtry
32 
33  if (Counter != 9) {
34  printf("TEST 56 FAILED. Counter = %d\n\r", Counter);
35  return -1;
36  }
37 
38  return 0;
39 }
#define endtry
Definition: seh.h:24
#define EXCEPTION_INT_OVERFLOW
Definition: winbase.h:321
#define FALSE
Definition: types.h:117
long LONG
Definition: pedump.c:60
#define printf
Definition: freeldr.h:94
char test[]
Definition: seh0056.c:8
#define except(x)
Definition: btrfs_drv.h:136
int main()
Definition: seh0056.c:10
VOID WINAPI RaiseException(IN DWORD dwExceptionCode, IN DWORD dwExceptionFlags, IN DWORD nNumberOfArguments, IN CONST ULONG_PTR *lpArguments OPTIONAL)
Definition: except.c:700
#define NULL
Definition: types.h:112
static LARGE_INTEGER Counter
Definition: clock.c:43
#define abnormal_termination
Definition: seh.h:25