about summary refs log tree commit diff stats
path: root/src/tools/env.c
diff options
context:
space:
mode:
authorptitSeb <sebastien.chev@gmail.com>2025-02-02 16:10:03 +0100
committerptitSeb <sebastien.chev@gmail.com>2025-02-02 16:10:03 +0100
commitb21776f9b08ce9e1d84205ccafaad7ceab1bf532 (patch)
tree9ce4282f738ca87a4ec2915af9de7c392da9ea84 /src/tools/env.c
parent998f164aa30b46bc67d52eedd5b2269e14a50b4b (diff)
downloadbox64-b21776f9b08ce9e1d84205ccafaad7ceab1bf532.tar.gz
box64-b21776f9b08ce9e1d84205ccafaad7ceab1bf532.zip
[RCFILE] Add some print of NODYNAREC and DYNAREC_TEST when applyed
Diffstat (limited to 'src/tools/env.c')
-rw-r--r--src/tools/env.c27
1 files changed, 21 insertions, 6 deletions
diff --git a/src/tools/env.c b/src/tools/env.c
index e9878270..80b5543c 100644
--- a/src/tools/env.c
+++ b/src/tools/env.c
@@ -108,8 +108,10 @@ static void applyCustomRules()
             box64env.dynarec_test_end = 0x0;
         } else if (strchr(box64env.dynarec_test_str, '-')) {
             if (sscanf(box64env.dynarec_test_str, "%ld-%ld", &box64env.dynarec_test_start, &box64env.dynarec_test_end) != 2) {
-                if (sscanf(box64env.dynarec_test_str, "0x%lX-0x%lX", &box64env.dynarec_test_start, &box64env.dynarec_test_end) != 2)
-                    sscanf(box64env.dynarec_test_str, "%lx-%lx", &box64env.dynarec_test_start, &box64env.dynarec_test_end);
+                if (sscanf(box64env.dynarec_test_str, "0x%lX-0x%lX", &box64env.dynarec_test_start, &box64env.dynarec_test_end) != 2) {
+                    if (sscanf(box64env.dynarec_test_str, "0x%lx-0x%lx", &box64env.dynarec_test_start, &box64env.dynarec_test_end) != 2)
+                        sscanf(box64env.dynarec_test_str, "%lx-%lx", &box64env.dynarec_test_start, &box64env.dynarec_test_end);
+                }
             }
             if (box64env.dynarec_test_end > box64env.dynarec_test_start) {
                 box64env.dynarec_test = 1;
@@ -123,8 +125,10 @@ static void applyCustomRules()
         if(box64env.nodynarec) {
             if (strchr(box64env.nodynarec,'-')) {
                 if(sscanf(box64env.nodynarec, "%ld-%ld", &box64env.nodynarec_start, &box64env.nodynarec_end)!=2) {
-                    if(sscanf(box64env.nodynarec, "0x%lX-0x%lX", &box64env.nodynarec_start, &box64env.nodynarec_end)!=2)
-                        sscanf(box64env.nodynarec, "%lx-%lx", &box64env.nodynarec_start, &box64env.nodynarec_end);
+                    if(sscanf(box64env.nodynarec, "0x%lX-0x%lX", &box64env.nodynarec_start, &box64env.nodynarec_end)!=2) {
+                            if(sscanf(box64env.nodynarec, "0x%lx-0x%lx", &box64env.nodynarec_start, &box64env.nodynarec_end)!=2)
+                                sscanf(box64env.nodynarec, "%lx-%lx", &box64env.nodynarec_start, &box64env.nodynarec_end);
+                    }
                 }
             }
         }
@@ -435,8 +439,10 @@ void ApplyEnvFileEntry(const char* entryname)
         const char* k2;
         kh_foreach_ref(box64env_entries_gen, k2, env,
             if (strstr(lowercase_entryname, k2))
-                internalApplyEnvFileEntry(entryname, env);)
-            box_free(lowercase_entryname);
+                internalApplyEnvFileEntry(entryname, env);
+            applyCustomRules();
+        )
+        box_free(lowercase_entryname);
     }
     if (k1 == kh_end(box64env_entries)) return;
 
@@ -534,6 +540,15 @@ void PrintEnvVariables(box64env_t* env, int level)
 #undef BOOLEAN
 #undef ADDRESS
 #undef STRING
+    if(env->is_dynarec_test_str_overridden && env->dynarec_test) {
+        if(env->dynarec_test_end)
+            printf_log(level, "\tBOX64_DYNAREC_TEST on range %p-%p\n", (void*)box64env.dynarec_test_start, (void*)box64env.dynarec_test_end);
+        else
+            printf_log(level, "\tBOX64_DYNAREC_TEST activated\n");
+    }
+    if(env->is_nodynarec_overridden && env->nodynarec_end)
+        printf_log(level, "\tBOX64_NODYNAREC on range %p-%p\n", (void*)box64env.nodynarec_start, (void*)box64env.nodynarec_end);
+
 }
 
 typedef struct mapping_s {