Repository :
https://github.com/colorer/FarColorer
On branch : winxp
Link :
https://github.com/colorer/FarColorer/commit/3901b6ec7c2e3ea5c067113f4519109714f9ade5
>---------------------------------------------------------------
commit 3901b6ec7c2e3ea5c067113f4519109714f9ade5
Author: Aleksey Dobrunov <
cta...@ctapmex.com>
Date: Sat Sep 12 22:24:44 2026 +0500
around libxml
>---------------------------------------------------------------
3901b6ec7c2e3ea5c067113f4519109714f9ade5
external/far3sdk/vc_crt_fix_impl.cpp | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/external/far3sdk/vc_crt_fix_impl.cpp b/external/far3sdk/vc_crt_fix_impl.cpp
index 8c9c844..dcf2b63 100644
--- a/external/far3sdk/vc_crt_fix_impl.cpp
+++ b/external/far3sdk/vc_crt_fix_impl.cpp
@@ -473,6 +473,14 @@ extern "C" LONG WINAPI WRAPPER(BCryptGenRandom)(PVOID hAlgorithm, PUCHAR pbBuffe
CREATE_AND_RETURN(modules::bcrypt, hAlgorithm, pbBuffer, cbBuffer, dwFlags);
}
+// libxml2 calls BCryptGenRandom without dllimport. Providing the stdcall
+// symbol keeps the linker from pulling bcrypt.lib, which would redefine
+// __imp_BCryptGenRandom (LNK2005) and add a hard import of bcrypt.dll.
+extern "C" LONG WINAPI BCryptGenRandom(PVOID hAlgorithm, PUCHAR pbBuffer, ULONG cbBuffer, ULONG dwFlags)
+{
+ return WRAPPER(BCryptGenRandom)(hAlgorithm, pbBuffer, cbBuffer, dwFlags);
+}
+
// VC2019
extern "C" void WINAPI WRAPPER(InitializeSRWLock)(PSRWLOCK SRWLock)
{