From 9c3efe44afba3f6ee29a91d9d7bcc8f03cec3450 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Deuc=D0=B5?= <shurd@sasktel.net> Date: Tue, 18 May 2021 01:28:02 -0400 Subject: [PATCH] Fix ETA calculation. Use remaining bytes divided by CPS rather than total estimated time minus elapsed time. We squirrley on resumed ZModem downloads. --- src/syncterm/term.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/syncterm/term.c b/src/syncterm/term.c index 04b544e837..4e32f4aa6b 100644 --- a/src/syncterm/term.c +++ b/src/syncterm/term.c @@ -551,8 +551,7 @@ void zmodem_progress(void* cbdata, int64_t current_pos) zm->transfer_start_pos=0; if((cps=(unsigned)((current_pos-zm->transfer_start_pos)/t))==0) cps=1; /* cps so far */ - l=zm->current_file_size/cps; /* total transfer est time */ - l-=t; /* now, it's est time left */ + l = (zm->current_file_size - current_pos) / cps; /* remaining transfer est time */ if(l<0) l=0; cprintf("File (%u of %u): %-.*s" ,zm->current_file_num, zm->total_files, TRANSFER_WIN_WIDTH - 20, zm->current_file_name); -- GitLab