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