summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--usr.bin/ftp/util.c14
1 files changed, 5 insertions, 9 deletions
diff --git a/usr.bin/ftp/util.c b/usr.bin/ftp/util.c
index 3c1d49a..687a84c 100644
--- a/usr.bin/ftp/util.c
+++ b/usr.bin/ftp/util.c
@@ -670,22 +670,16 @@ progressmeter(flag)
if (bytes <= 0 || elapsed <= 0.0 || cursize > filesize) {
n = snprintf(buf + len, sizeof(buf) - len,
" --:-- ETA");
- if (n > 0 && n < sizeof(buf) - len)
- len += n;
} else if (wait.tv_sec >= STALLTIME) {
n = snprintf(buf + len, sizeof(buf) - len,
" - stalled -");
- if (n > 0 && n < sizeof(buf) - len)
- len += n;
} else {
remaining =
((filesize - restart_point) / (bytes / elapsed) - elapsed);
- if (remaining >= 100 * SECSPERHOUR) {
+ if (remaining >= 100 * SECSPERHOUR)
n = snprintf(buf + len, sizeof(buf) - len,
" --:-- ETA");
- if (n > 0 && n < sizeof(buf) - len)
- len += n;
- } else {
+ else {
i = remaining / SECSPERHOUR;
if (i)
n = snprintf(buf + len, sizeof(buf) - len,
@@ -696,10 +690,12 @@ progressmeter(flag)
if (n > 0 && n < sizeof(buf) - len)
len += n;
i = remaining % SECSPERHOUR;
- len += snprintf(buf + len, sizeof(buf) - len,
+ n = snprintf(buf + len, sizeof(buf) - len,
"%02d:%02d ETA", i / 60, i % 60);
}
}
+ if (n > 0 && n < sizeof(buf) - len)
+ len += n;
(void)write(STDOUT_FILENO, buf, len);
if (flag == -1) {
OpenPOWER on IntegriCloud