From e86829e653ebb53680c921e59aae57700c515c66 Mon Sep 17 00:00:00 2001 From: Zapta Date: Sat, 5 Jul 2025 10:30:40 -0700 Subject: [PATCH] Now forcing an explicit flush after progress bar '\r' writes. Per https://github.com/YosysHQ/icestorm/issues/350 --- iceprog/iceprog.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/iceprog/iceprog.c b/iceprog/iceprog.c index d86e874b4d..8737f75262 100644 --- a/iceprog/iceprog.c +++ b/iceprog/iceprog.c @@ -1009,6 +1009,7 @@ int main(int argc, char **argv) break; fprintf(stderr, " \r"); fprintf(stderr, "addr 0x%06X %3ld%%\r", rw_offset + addr, 100 * addr / file_size); + fflush(stderr); flash_write_enable(); flash_prog(rw_offset + addr, buffer, rc); flash_wait(); @@ -1031,6 +1032,7 @@ int main(int argc, char **argv) uint8_t buffer[256]; fprintf(stderr, " \r"); fprintf(stderr, "addr 0x%06X %3d%%\r", rw_offset + addr, 100 * addr / read_size); + fflush(stderr); flash_read(rw_offset + addr, buffer, 256); fwrite(buffer, read_size - addr > 256 ? 256 : read_size - addr, 1, f); } @@ -1045,6 +1047,7 @@ int main(int argc, char **argv) break; fprintf(stderr, " \r"); fprintf(stderr, "addr 0x%06X %3ld%%\r", rw_offset + addr, 100 * addr / file_size); + fflush(stderr); flash_read(rw_offset + addr, buffer_flash, rc); if (memcmp(buffer_file, buffer_flash, rc)) { fprintf(stderr, "Found difference between flash and file!\n");