- remain_s = (int) remain % 60;
- remain_m = (int) (remain / 60.0) % 60;
- remain_h = (int) (remain / 3600.0);
+ if (remain < 0)
+ strlcpy(rembuf, " ??:??:??", sizeof rembuf);
+ else {
+ snprintf(rembuf, sizeof rembuf, "%4d:%02d:%02d",
+ (int) (remain / 3600.0),
+ (int) (remain / 60.0) % 60,
+ (int) remain % 60);
+ }
+
+ if (is_last) {
+ snprintf(eol, sizeof eol, " (xfer#%d, to-check=%d/%d)\n",
+ stats.num_transferred_files,
+ stats.num_files - current_file_index - 1,
+ stats.num_files);
+ } else
+ strlcpy(eol, "\r", sizeof eol);
+ progress_is_active = 0;
+ rprintf(FCLIENT, "%12s %3d%% %7.2f%s %s%s",
+ human_num(ofs), pct, rate, units, rembuf, eol);
+ if (!is_last)
+ progress_is_active = 1;
+}