:: commit a75d3348fb8d366ae61bdff59c8959641e0beb6a

mintsuki <mintsuki@protonmail.com> — 2022-03-31 05:48

parents: 4dcd94f465

s2deploy: Fix bugs with 4dcd94f

diff --git a/limine-s2deploy/limine-s2deploy.c b/limine-s2deploy/limine-s2deploy.c
index 5564b4aa..01ce2d2a 100644
--- a/limine-s2deploy/limine-s2deploy.c
+++ b/limine-s2deploy/limine-s2deploy.c
@@ -166,11 +166,11 @@ static uint64_t endswap64(uint64_t value) {
     return ret;
 }
 
-#define ENDSWAP(VALUE) (bigendian ? (                     \
-    sizeof(VALUE) == 8  ? (VALUE)          :              \
-    sizeof(VALUE) == 16 ? endswap16(VALUE) :              \
-    sizeof(VALUE) == 32 ? endswap32(VALUE) :              \
-    sizeof(VALUE) == 64 ? endswap64(VALUE) : (abort(), 1) \
+#define ENDSWAP(VALUE) (bigendian ? (                    \
+    sizeof(VALUE) == 1 ? (VALUE)          :              \
+    sizeof(VALUE) == 2 ? endswap16(VALUE) :              \
+    sizeof(VALUE) == 4 ? endswap32(VALUE) :              \
+    sizeof(VALUE) == 8 ? endswap64(VALUE) : (abort(), 1) \
 ) : (VALUE))
 
 static enum {
@@ -631,7 +631,7 @@ int main(int argc, char *argv[]) {
             secondary_gpt_header.crc32 = crc32(&secondary_gpt_header, 92);
             secondary_gpt_header.crc32 = ENDSWAP(secondary_gpt_header.crc32);
             device_write(&secondary_gpt_header,
-                         lb_size * gpt_header.alternate_lba,
+                         lb_size * ENDSWAP(gpt_header.alternate_lba),
                          sizeof(struct gpt_table_header));
         }
     } else {
tab: 248 wrap: offon