From 19cfdcf543da4d2fc0f1044fe5c01f032d6ea12a Mon Sep 17 00:00:00 2001 From: Yorhel Date: Tue, 19 Aug 2025 14:17:51 +0200 Subject: [PATCH] Fix bug with drawing scan progress before calling ui.init() This triggered an invalid integer cast that wasn't caught with Zig's LLVM backend, but it did trigger on the native x86_64 backend. --- src/sink.zig | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/src/sink.zig b/src/sink.zig index 3dd81ca..71e95cd 100644 --- a/src/sink.zig +++ b/src/sink.zig @@ -451,25 +451,28 @@ pub fn draw() void { switch (main.config.scan_ui.?) { .none => {}, .line => drawConsole(), - .full => switch (global.state) { - .done => {}, - .err => drawError(), - .zeroing => { - const box = ui.Box.create(4, ui.cols -| 5, "Initializing"); - box.move(2, 2); - ui.addstr("Clearing directory counts..."); - }, - .hlcnt => { - const box = ui.Box.create(4, ui.cols -| 5, "Finalizing"); - box.move(2, 2); - ui.addstr("Counting hardlinks... "); - if (model.inodes.add_total > 0) { - ui.addnum(.default, model.inodes.add_done); - ui.addstr(" / "); - ui.addnum(.default, model.inodes.add_total); - } - }, - .running => drawProgress(), + .full => { + ui.init(); + switch (global.state) { + .done => {}, + .err => drawError(), + .zeroing => { + const box = ui.Box.create(4, ui.cols -| 5, "Initializing"); + box.move(2, 2); + ui.addstr("Clearing directory counts..."); + }, + .hlcnt => { + const box = ui.Box.create(4, ui.cols -| 5, "Finalizing"); + box.move(2, 2); + ui.addstr("Counting hardlinks... "); + if (model.inodes.add_total > 0) { + ui.addnum(.default, model.inodes.add_done); + ui.addstr(" / "); + ui.addnum(.default, model.inodes.add_total); + } + }, + .running => drawProgress(), + } }, } }