From 45d31b1bb8699dbbb5fc89c807c95e8c8edbe895 Mon Sep 17 00:00:00 2001 From: ladevieq Date: Wed, 15 Jul 2026 00:58:25 +0200 Subject: Fix some cl compilation errors --- src/loader.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/loader.c') diff --git a/src/loader.c b/src/loader.c index 8f2ac28..2823a79 100644 --- a/src/loader.c +++ b/src/loader.c @@ -6,6 +6,12 @@ // ====== windows.h ====== // ======================= +#if defined(_MSC_VER) && !defined(__clang__) +#define offsetof(s,m) ((size_t)&(((s*)0)->m)) +#else +#define offsetof __builtin_offsetof +#endif + extern uint64_t __readgsqword(unsigned long offset); typedef struct _LIST_ENTRY { @@ -158,7 +164,7 @@ i32 wstr_cmpn(const u16* str1, const u16* str2, size_t count) { } PEB* get_PEB(void) { - return (PEB*)__readgsqword(__builtin_offsetof(TEB, ProcessEnvironmentBlock)); + return (PEB*)__readgsqword(offsetof(TEB, ProcessEnvironmentBlock)); } void* get_module(u16* name, size_t name_size) { -- cgit v1.3