https://git.reactos.org/?p=reactos.git;a=commitdiff;h=31334ebcfefc818cd04ff…
commit 31334ebcfefc818cd04ff7c890bd116cbc5f5099
Author:     Timo Kreuzer <timo.kreuzer(a)reactos.org>
AuthorDate: Sun Oct 13 19:10:22 2024 +0300
Commit:     Timo Kreuzer <timo.kreuzer(a)reactos.org>
CommitDate: Mon Nov 18 10:23:50 2024 +0200
    [SETUPLIB] Use proper SEH instead of nasty hacks
    Addendum to commit 2268b3d
---
 base/setup/lib/CMakeLists.txt     | 1 +
 base/setup/lib/utils/filesup.c    | 9 +--------
 base/setup/reactos/CMakeLists.txt | 2 +-
 base/setup/usetup/CMakeLists.txt  | 2 +-
 4 files changed, 4 insertions(+), 10 deletions(-)
diff --git a/base/setup/lib/CMakeLists.txt b/base/setup/lib/CMakeLists.txt
index 836c9ef5967..34b43018c23 100644
--- a/base/setup/lib/CMakeLists.txt
+++ b/base/setup/lib/CMakeLists.txt
@@ -5,6 +5,7 @@ if(_WINKD_)
 endif()
 include_directories(spapisup utils)
+include_directories(${REACTOS_SOURCE_DIR}/sdk/lib/pseh/include)
 list(APPEND SOURCE
     spapisup/fileqsup.c
diff --git a/base/setup/lib/utils/filesup.c b/base/setup/lib/utils/filesup.c
index 81da91faa12..9c00675c59c 100644
--- a/base/setup/lib/utils/filesup.c
+++ b/base/setup/lib/utils/filesup.c
@@ -10,18 +10,11 @@
 #include "precomp.h"
 #include "filesup.h"
+#include <pseh/pseh2.h>
 #define NDEBUG
 #include <debug.h>
-
-// ACHTUNG! HAXX FIXME!!
-#define _SEH2_TRY
-#define _SEH2_LEAVE     goto __SEH2_FINALLY__label;
-#define _SEH2_FINALLY   __SEH2_FINALLY__label:
-#define _SEH2_END
-
-
 /* FUNCTIONS ****************************************************************/
 static
diff --git a/base/setup/reactos/CMakeLists.txt b/base/setup/reactos/CMakeLists.txt
index 6516663e7fb..23adc345081 100644
--- a/base/setup/reactos/CMakeLists.txt
+++ b/base/setup/reactos/CMakeLists.txt
@@ -19,7 +19,7 @@ add_rc_deps(reactos.rc ${reactos_rc_deps})
 add_executable(reactos ${SOURCE} reactos.rc)
 add_pch(reactos reactos.h SOURCE)
 set_module_type(reactos win32gui UNICODE)
-target_link_libraries(reactos uuid setuplib ext2lib vfatlib btrfslib)
+target_link_libraries(reactos uuid setuplib ext2lib vfatlib btrfslib ${PSEH_LIB})
 target_link_libraries(reactos zlib_solo) ## We use USETUP's cabinet implementation
 add_importlibs(reactos advapi32 gdi32 user32 comctl32 shlwapi setupapi msvcrt kernel32
ntdll)
 add_cd_file(TARGET reactos DESTINATION reactos NO_CAB FOR bootcd)
diff --git a/base/setup/usetup/CMakeLists.txt b/base/setup/usetup/CMakeLists.txt
index 94ef7cffd14..21d2bdcf646 100644
--- a/base/setup/usetup/CMakeLists.txt
+++ b/base/setup/usetup/CMakeLists.txt
@@ -35,6 +35,6 @@ endif()
 add_pch(usetup usetup.h SOURCE)
 set_module_type(usetup nativecui)
-target_link_libraries(usetup inflib setuplib zlib_solo ext2lib vfatlib btrfslib chkstk)
+target_link_libraries(usetup inflib setuplib zlib_solo ext2lib vfatlib btrfslib chkstk
${PSEH_LIB})
 add_importlibs(usetup ntdll)
 add_cd_file(TARGET usetup DESTINATION reactos/system32 NO_CAB NAME_ON_CD smss.exe FOR
bootcd regtest)