summaryrefslogtreecommitdiffstats
path: root/src/loader.c
diff options
context:
space:
mode:
authorladevieq <ladevie.quentin@gmail.com>2026-07-15 00:58:25 +0200
committerladevieq <ladevie.quentin@gmail.com>2026-07-15 00:58:25 +0200
commit45d31b1bb8699dbbb5fc89c807c95e8c8edbe895 (patch)
tree5029da96a243e16038373fce54dd942f32e354d8 /src/loader.c
parent968d63f3eda7ba49fcba93e444788091cf3ccee8 (diff)
Fix some cl compilation errors
Diffstat (limited to 'src/loader.c')
-rw-r--r--src/loader.c8
1 files changed, 7 insertions, 1 deletions
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) {