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 */