:: commit dd0790a5e0d09d6d179d73afe21db50ef12bc779

mintsuki <mintsuki@protonmail.com> — 2022-05-28 02:58

parents: 0d07b9db15

limine-deploy: Fix bug where any_active is not properly set

diff --git a/limine-deploy/limine-deploy.c b/limine-deploy/limine-deploy.c
index a2094996..28901e4d 100644
--- a/limine-deploy/limine-deploy.c
+++ b/limine-deploy/limine-deploy.c
@@ -432,7 +432,6 @@ int main(int argc, char *argv[]) {
 
         device_read(&hint8, 446, sizeof(uint8_t));
         if (hint8 != 0x00 && hint8 != 0x80) {
-            any_active = any_active ? any_active : (hint8 & 0x80) != 0;
             if (!force_mbr) {
                 mbr = 0;
             } else {
@@ -440,9 +439,9 @@ int main(int argc, char *argv[]) {
                 device_write(&hint8, 446, sizeof(uint8_t));
             }
         }
+        any_active = any_active ? any_active : (hint8 & 0x80) != 0;
         device_read(&hint8, 462, sizeof(uint8_t));
         if (hint8 != 0x00 && hint8 != 0x80) {
-            any_active = any_active ? any_active : (hint8 & 0x80) != 0;
             if (!force_mbr) {
                 mbr = 0;
             } else {
@@ -450,9 +449,9 @@ int main(int argc, char *argv[]) {
                 device_write(&hint8, 462, sizeof(uint8_t));
             }
         }
+        any_active = any_active ? any_active : (hint8 & 0x80) != 0;
         device_read(&hint8, 478, sizeof(uint8_t));
         if (hint8 != 0x00 && hint8 != 0x80) {
-            any_active = any_active ? any_active : (hint8 & 0x80) != 0;
             if (!force_mbr) {
                 mbr = 0;
             } else {
@@ -460,9 +459,9 @@ int main(int argc, char *argv[]) {
                 device_write(&hint8, 478, sizeof(uint8_t));
             }
         }
+        any_active = any_active ? any_active : (hint8 & 0x80) != 0;
         device_read(&hint8, 494, sizeof(uint8_t));
         if (hint8 != 0x00 && hint8 != 0x80) {
-            any_active = any_active ? any_active : (hint8 & 0x80) != 0;
             if (!force_mbr) {
                 mbr = 0;
             } else {
@@ -470,6 +469,7 @@ int main(int argc, char *argv[]) {
                 device_write(&hint8, 494, sizeof(uint8_t));
             }
         }
+        any_active = any_active ? any_active : (hint8 & 0x80) != 0;
 
         char hintc[64];
         device_read(hintc, 4, 8);
tab: 248 wrap: offon