Commit in reactos on MAIN
include/pseh/framebased.h+4-21.11 -> 1.12
lib/pseh/framebased.c+5-41.5 -> 1.6
+9-6
2 modified files
KJK:Hyperion: new macro _SEH_STATIC_FILTER, some changes

reactos/include/pseh
framebased.h 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- framebased.h	1 Dec 2004 19:20:53 -0000	1.11
+++ framebased.h	5 Dec 2004 06:05:51 -0000	1.12
@@ -79,6 +79,8 @@
   struct __SEHPortableFrame * _SEHPortableFrame \
  )
 
+#define _SEH_STATIC_FILTER(ACTION_) ((_SEHFilter_t)((ACTION_) + 2))
+
 #define _SEH_FINALLY(NAME_) \
  void __stdcall NAME_ \
  ( \
@@ -88,7 +90,7 @@
 #define _SEH_TRY_FINALLY(FINALLY_) \
  _SEH_TRY_FILTER_FINALLY \
  ( \
-  (_SEHFilter_t)(_SEH_CONTINUE_SEARCH + 1), \
+  _SEH_STATIC_FILTER(_SEH_CONTINUE_SEARCH), \
   (FINALLY_) \
  )
 
@@ -100,7 +102,7 @@
 #define _SEH_TRY_HANDLE_FINALLY(FINALLY_) \
  _SEH_TRY_FILTER_FINALLY \
  ( \
-  (_SEHFilter_t)(_SEH_EXECUTE_HANDLER + 1), \
+  _SEH_STATIC_FILTER(_SEH_EXECUTE_HANDLER), \
   (FINALLY_) \
  )
 

reactos/lib/pseh
framebased.c 1.5 -> 1.6
diff -u -r1.5 -r1.6
--- framebased.c	1 Jul 2004 02:40:23 -0000	1.5
+++ framebased.c	5 Dec 2004 06:05:52 -0000	1.6
@@ -27,6 +27,7 @@
 #include <pseh/framebased/internal.h>
 #include <pseh/excpt.h>
 #include <excpt.h>
+#include <pseh/framebased.h>
 
 /* Assembly helpers, see i386/framebased.asm */
 extern void __cdecl _SEHCleanHandlerEnvironment(void);
@@ -77,11 +78,11 @@
 
   switch((UINT_PTR)frame->SPF_Handlers->SH_Filter)
   {
-   case _SEH_EXECUTE_HANDLER + 1:
-   case _SEH_CONTINUE_SEARCH + 1:
-   case _SEH_CONTINUE_EXECUTION + 1:
+   case (UINT_PTR)_SEH_STATIC_FILTER(_SEH_EXECUTE_HANDLER):
+   case (UINT_PTR)_SEH_STATIC_FILTER(_SEH_CONTINUE_SEARCH):
+   case (UINT_PTR)_SEH_STATIC_FILTER(_SEH_CONTINUE_EXECUTION):
    {
-    ret = (int)((UINT_PTR)frame->SPF_Handlers->SH_Filter) - 1;
+    ret = (int)((UINT_PTR)frame->SPF_Handlers->SH_Filter) - 2;
     break;
    }
 
CVSspam 0.2.8