about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-01-27 13:27:58 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-01-27 13:27:58 +0100
commitf5dc03862157c7da884fb4be876c2d82d6d7226c (patch)
treed0c482324720cb389f1d6939d42c8a12812fc6c3 /src
parent38dce9138d702b18c265e5d4b2c6619ac694dbe6 (diff)
downloadbox64-f5dc03862157c7da884fb4be876c2d82d6d7226c.tar.gz
box64-f5dc03862157c7da884fb4be876c2d82d6d7226c.zip
[ENV] Improved a bit env var handling and per file env var
Diffstat (limited to 'src')
-rw-r--r--src/include/env.h3
-rw-r--r--src/tools/env.c10
2 files changed, 5 insertions, 8 deletions
diff --git a/src/include/env.h b/src/include/env.h
index 7007f8cd..0503b413 100644
--- a/src/include/env.h
+++ b/src/include/env.h
@@ -5,8 +5,7 @@
 #include <unistd.h>
 
 #define BOX64ENV(name)            (box64env.name)
-#define BOX64DRENV(name) \
-    ((GetCurEnvByAddr(dyn->start) && cur_box64env->is_##name##_overridden) ? cur_box64env->name : box64env.name)
+#define BOX64DRENV(name)          (GetCurEnvByAddr(dyn->start)->name)
 #define SET_BOX64ENV(name, value)            \
     {                                        \
         box64env.name = (value);             \
diff --git a/src/tools/env.c b/src/tools/env.c
index 28f05e6f..b7d64c61 100644
--- a/src/tools/env.c
+++ b/src/tools/env.c
@@ -15,7 +15,6 @@
 #include "rbtree.h"
 
 box64env_t box64env = { 0 };
-box64env_t* cur_box64env = NULL;
 
 KHASH_MAP_INIT_STR(box64env_entry, box64env_t)
 static kh_box64env_entry_t* box64env_entries = NULL;
@@ -596,11 +595,10 @@ void RemoveMapping(uintptr_t addr, size_t length)
 
 box64env_t* GetCurEnvByAddr(uintptr_t addr)
 {
-    if (!envmap) return NULL;
+    if (!envmap) return &box64env;
     mapping_t* mapping = ((mapping_t*)rb_get_64(envmap, addr));
-    if(!mapping) return NULL;
+    if(!mapping) return &box64env;
     box64env_t* env = mapping->env;
-    if(!env) return NULL;
-    cur_box64env = env;
-    return cur_box64env;
+    if(!env) return &box64env;
+    return env;
 }