about summary refs log tree commit diff stats
path: root/src/tools/env.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/env.c')
-rw-r--r--src/tools/env.c71
1 files changed, 7 insertions, 64 deletions
diff --git a/src/tools/env.c b/src/tools/env.c
index 3d79fda0..7db6f015 100644
--- a/src/tools/env.c
+++ b/src/tools/env.c
@@ -5,12 +5,11 @@
 #ifndef _WIN32
 #include <sys/mman.h>
 #include <sys/stat.h>
-#else
-#include <winternl.h>
 #endif
 #include <fcntl.h>
 #include <string.h>
 
+#include "os.h"
 #include "env.h"
 #include "khash.h"
 #include "debug.h"
@@ -517,11 +516,10 @@ void LoadEnvVariables()
 #undef ADDRESS
 #undef STRING
 
-#ifndef _WIN32
     char* p;
-    // load env vars from getenv()
+    // load env vars from GetEnv()
 #define INTEGER(NAME, name, default, min, max)            \
-    p = getenv(#NAME);                                    \
+    p = GetEnv(#NAME);                                    \
     if (p) {                                              \
         box64env.name = atoi(p);                          \
         if (box64env.name < min || box64env.name > max) { \
@@ -532,21 +530,21 @@ void LoadEnvVariables()
         }                                                 \
     }
 #define INTEGER64(NAME, name, default)       \
-    p = getenv(#NAME);                       \
+    p = GetEnv(#NAME);                       \
     if (p) {                                 \
         box64env.name = atoll(p);            \
         box64env.is_##name##_overridden = 1; \
         box64env.is_any_overridden = 1;      \
     }
 #define BOOLEAN(NAME, name, default)         \
-    p = getenv(#NAME);                       \
+    p = GetEnv(#NAME);                       \
     if (p) {                                 \
         box64env.name = p[0] != '0';         \
         box64env.is_##name##_overridden = 1; \
         box64env.is_any_overridden = 1;      \
     }
 #define ADDRESS(NAME, name)                                \
-    p = getenv(#NAME);                                     \
+    p = GetEnv(#NAME);                                     \
     if (p) {                                               \
         char* endptr;                                      \
         box64env.name = (uintptr_t)strtoll(p, &endptr, 0); \
@@ -554,7 +552,7 @@ void LoadEnvVariables()
         box64env.is_any_overridden = 1;                    \
     }
 #define STRING(NAME, name)                   \
-    p = getenv(#NAME);                       \
+    p = GetEnv(#NAME);                       \
     if (p) {                                 \
         box64env.name = strdup(p);           \
         box64env.is_##name##_overridden = 1; \
@@ -566,61 +564,6 @@ void LoadEnvVariables()
 #undef BOOLEAN
 #undef ADDRESS
 #undef STRING
-#else /* _WIN32 */
-    char buffer[1024];
-    DWORD len;
-    // load env vars from getenv()
-#define INTEGER(NAME, name, default, min, max)                      \
-    len = GetEnvironmentVariableA(#NAME, buffer, sizeof(buffer));   \
-    if (len) {                                                      \
-        box64env.name = atoi(buffer);                               \
-        if (box64env.name < min || box64env.name > max) {           \
-            box64env.name = default;                                \
-        } else {                                                    \
-            box64env.is_##name##_overridden = 1;                    \
-            box64env.is_any_overridden = 1;                         \
-        }                                                           \
-    }
-#define INTEGER64(NAME, name, default)                              \
-    len = GetEnvironmentVariableA(#NAME, buffer, sizeof(buffer));   \
-    if (len) {                                                      \
-        ULONG tmp; /* FIXME: only positive 32-bit */                \
-        RtlCharToInteger(buffer, 10, &tmp);                         \
-        box64env.name = tmp;                                        \
-        box64env.is_##name##_overridden = 1;                        \
-        box64env.is_any_overridden = 1;                             \
-    }
-#define BOOLEAN(NAME, name, default)                                \
-    len = GetEnvironmentVariableA(#NAME, buffer, sizeof(buffer));   \
-    if (len) {                                                      \
-        box64env.name = buffer[0] != '0';                           \
-        box64env.is_##name##_overridden = 1;                        \
-        box64env.is_any_overridden = 1;                             \
-    }
-#define ADDRESS(NAME, name)                                         \
-    len = GetEnvironmentVariableA(#NAME, buffer, sizeof(buffer));   \
-    if (len) {                                                      \
-        ULONG tmp; /* FIXME: only positive 32-bit */                \
-        RtlCharToInteger(buffer, 10, &tmp);                         \
-        box64env.name = (uintptr_t)tmp;                             \
-        box64env.is_##name##_overridden = 1;                        \
-        box64env.is_any_overridden = 1;                             \
-    }
-#define STRING(NAME, name)                                                      \
-    len = GetEnvironmentVariableA(#NAME, buffer, sizeof(buffer));               \
-    if (len) {                                                                  \
-        box64env.name = (char*)RtlAllocateHeap(GetProcessHeap(), 0, len + 1);   \
-        if (box64env.name) strcpy(box64env.name, buffer);                       \
-        box64env.is_##name##_overridden = 1;                                    \
-        box64env.is_any_overridden = 1;                                         \
-    }
-    ENVSUPER()
-#undef INTEGER
-#undef INTEGER64
-#undef BOOLEAN
-#undef ADDRESS
-#undef STRING
-#endif /* _WIN32 */
     applyCustomRules();
 }