From d4ef2eed48be4e99f50b51ab57096c9b3532b7a1 Mon Sep 17 00:00:00 2001
From: Ben Bridle <ben@derelict.engineering>
Date: Tue, 25 Mar 2025 11:49:26 +1300
Subject: Fix incorrect block addresses

The value used for every block open token was their own address,
instead of the address of the matching block close token.
---
 src/stages/bytecode.rs | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src')

diff --git a/src/stages/bytecode.rs b/src/stages/bytecode.rs
index 4b50327..3d43ef4 100644
--- a/src/stages/bytecode.rs
+++ b/src/stages/bytecode.rs
@@ -119,7 +119,7 @@ impl<'a> BytecodeGenerator<'a> {
                     let Some(addr) = self.stack.pop() else {
                         unreachable!("Uncaught unmatched block terminator");
                     };
-                    let [high, low] = (addr as u16).to_be_bytes();
+                    let [high, low] = (i as u16).to_be_bytes();
                     self.bytecode[addr] = high;
                     self.bytecode[addr+1] = low;
                 }
-- 
cgit v1.2.3-70-g09d2