summaryrefslogtreecommitdiff
path: root/progress.c
diff options
context:
space:
mode:
authorWayne Davison <wayned@samba.org>2008-04-15 08:39:59 -0700
committerWayne Davison <wayned@samba.org>2008-04-15 08:50:14 -0700
commit59d2cd5a7fd922e5e32c8fc9790c35a6343d91bc (patch)
treed4a2d81d37925b02dfdd525040b9bca73c4095df /progress.c
parent1c3e6e8b2611f85cdf3ada054ef2c419ecaf399c (diff)
downloadrsync-59d2cd5a7fd922e5e32c8fc9790c35a6343d91bc.tar.gz
rsync-59d2cd5a7fd922e5e32c8fc9790c35a6343d91bc.tar.bz2
rsync-59d2cd5a7fd922e5e32c8fc9790c35a6343d91bc.zip
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.
Diffstat (limited to 'progress.c')
-rw-r--r--progress.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/progress.c b/progress.c
index d614806d..1d3659e7 100644
--- a/progress.c
+++ b/progress.c
@@ -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);
}