Forgot to implement _SEH2_LEAVE. Also added some _SEH2 aliases to clean any possible ambiguity
Modified: trunk/reactos/include/pseh/framebased.h

Modified: trunk/reactos/include/pseh/framebased.h
--- trunk/reactos/include/pseh/framebased.h	2005-03-27 00:44:53 UTC (rev 14339)
+++ trunk/reactos/include/pseh/framebased.h	2005-03-27 00:53:15 UTC (rev 14340)
@@ -215,6 +215,13 @@
 
 #define _SEH_LEAVE break
 
+#define _SEH_GetExceptionCode() (unsigned long)(_SEHPortableFrame->SPF_Code)
+
+#define _SEH_GetExceptionPointers() \
+ ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
+
+#define _SEH_AbnormalTermination() (_SEHPortableFrame->SPF_Code != 0)
+
 /* New syntax */
 #define _SEH2_STATE_INIT_EXCEPT  (1)
 #define _SEH2_STATE_INIT_FINALLY (_SEH2_STATE_INIT_EXCEPT + 1)
@@ -222,6 +229,8 @@
 #define _SEH2_STATE_HANDLER      (_SEH2_STATE_BODY + 1)
 #define _SEH2_STATE_DONE         (_SEH2_STATE_HANDLER + 1)
 
+#define _SEH2_LEAVE { _SEH2State = _SEH2_STATE_DONE; break; }
+
 #define _SEH2_TRY \
 {                                                                              \
  int _SEH2State;                                                               \
@@ -300,13 +309,10 @@
 
 #define _SEH2_HANDLE _SEH2_EXCEPT(_SEH_STATIC_FILTER(_SEH_EXECUTE_HANDLER))
 
-#define _SEH_GetExceptionCode() (unsigned long)(_SEHPortableFrame->SPF_Code)
+#define _SEH2_GetExceptionCode     _SEH_GetExceptionCode
+#define _SEH2_GetExceptionPointers _SEH_GetExceptionPointers
+#define _SEH2_AbnormalTermination  _SEH_AbnormalTermination
 
-#define _SEH_GetExceptionPointers() \
- ((struct _EXCEPTION_POINTERS *)_SEHExceptionPointers)
-
-#define _SEH_AbnormalTermination() (_SEHPortableFrame->SPF_Code != 0)
-
 #endif
 
 /* EOF */