Commit 59d2cd5a authored by Wayne Davison's avatar Wayne Davison

When running in --progress mode with a progress message active, the

client now outputs a newline prior to an error message, which avoids
overwriting the active file's last progress line.
parent 1c3e6e8b
......@@ -27,6 +27,7 @@ extern int am_daemon;
extern int io_error;
extern int keep_partial;
extern int got_xfer_error;
extern int progress_is_active;
extern char *partial_dir;
extern char *logfile_name;
......@@ -115,6 +116,9 @@ NORETURN void _exit_cleanup(int code, const char *file, int line)
exit_code = unmodified_code = code;
if (progress_is_active && exit_code && !am_server)
rprintf(FINFO, "\n");
if (verbose > 3) {
rprintf(FINFO,
"_exit_cleanup(code=%d, file=%s, line=%d): entered\n",
......
......@@ -40,6 +40,8 @@ struct progress_history {
OFF_T ofs;
};
int progress_is_active = 0;
static struct progress_history ph_start;
static struct progress_history ph_list[PROGRESS_HISTORY_SECS];
static int newest_hpos, oldest_hpos;
......@@ -109,8 +111,11 @@ static void rprint_progress(OFF_T ofs, OFF_T size, struct timeval *now,
stats.num_transferred_files,
stats.num_files - current_file_index - 1,
stats.num_files);
} else
progress_is_active = 0;
} else {
strlcpy(eol, "\r", sizeof eol);
progress_is_active = 1;
}
rprintf(FCLIENT, "%12s %3d%% %7.2f%s %s%s",
human_num(ofs), pct, rate, units, rembuf, eol);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment