summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jose Colon Rodriguez2024-02-13 14:30:40 -0400
committerGravatar Jose Colon Rodriguez2024-02-13 14:30:40 -0400
commit2e102b2a8f17f15b743fdf99a1d972121e86a29f (patch)
tree6639751ec0b5c7a69adf769b1ea1fcc4aa486880
parentUsing emoji table (diff)
downloadzg-2e102b2a8f17f15b743fdf99a1d972121e86a29f.tar.gz
zg-2e102b2a8f17f15b743fdf99a1d972121e86a29f.tar.xz
zg-2e102b2a8f17f15b743fdf99a1d972121e86a29f.zip
Block init fix
-rw-r--r--src/gbp_gen.zig5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/gbp_gen.zig b/src/gbp_gen.zig
index 7e27f35..ace875c 100644
--- a/src/gbp_gen.zig
+++ b/src/gbp_gen.zig
@@ -71,7 +71,7 @@ pub fn main() !void {
71 var stage3 = std.ArrayList(Prop).init(allocator); 71 var stage3 = std.ArrayList(Prop).init(allocator);
72 defer stage3.deinit(); 72 defer stage3.deinit();
73 73
74 var block: Block = undefined; 74 var block: Block = [_]u4{0} ** block_size;
75 var block_len: u16 = 0; 75 var block_len: u16 = 0;
76 76
77 for (0..0x10ffff + 1) |cp| { 77 for (0..0x10ffff + 1) |cp| {
@@ -91,12 +91,11 @@ pub fn main() !void {
91 block_len += 1; 91 block_len += 1;
92 92
93 if (block_len < block_size and cp != 0x10ffff) continue; 93 if (block_len < block_size and cp != 0x10ffff) continue;
94 if (block_len < block_size) @memset(block[block_len..block_size], 0);
95 94
96 const gop = try blocks_map.getOrPut(block); 95 const gop = try blocks_map.getOrPut(block);
97 if (!gop.found_existing) { 96 if (!gop.found_existing) {
98 gop.value_ptr.* = @intCast(stage2.items.len); 97 gop.value_ptr.* = @intCast(stage2.items.len);
99 try stage2.appendSlice(block[0..block_len]); 98 try stage2.appendSlice(&block);
100 } 99 }
101 100
102 try stage1.append(gop.value_ptr.*); 101 try stage1.append(gop.value_ptr.*);