From 2bcbb73b916ad55d896c0805ac2cb2ba2e49af71 Mon Sep 17 00:00:00 2001 From: des Date: Tue, 11 Mar 2003 21:33:43 +0000 Subject: Use floating point arithmetic to compute the ETA to avoid integer overflow during slow transfers of large files. --- usr.bin/fetch/fetch.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'usr.bin/fetch/fetch.c') diff --git a/usr.bin/fetch/fetch.c b/usr.bin/fetch/fetch.c index 087d09c..00bcc76 100644 --- a/usr.bin/fetch/fetch.c +++ b/usr.bin/fetch/fetch.c @@ -130,7 +130,7 @@ stat_eta(struct xferstat *xs) elapsed = xs->last.tv_sec - xs->start.tv_sec; received = xs->rcvd - xs->offset; expected = xs->size - xs->rcvd; - eta = (elapsed * expected) / received; + eta = (long)((double)elapsed * expected / received); if (eta > 3600) { fprintf(stderr, "%02ld:", eta / 3600); eta %= 3600; -- cgit v1.1