Commit 4a001480 authored by Magnus Hagander's avatar Magnus Hagander

Properly clear the verbose output of pg_basebackup

Don't leave partial filename information on the last status or
dangling characters if the previous filename was longer than
the current one.
parent 56bb7f2a
......@@ -207,11 +207,24 @@ progress_report(int tablespacenum, char *fn)
percent = 100;
if (verbose)
fprintf(stderr,
INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces (%-30s)\r",
totaldone / 1024, totalsize,
percent,
tablespacenum, tablespacecount, fn);
{
if (!fn)
/*
* No filename given, so clear the status line (used for last
* call)
*/
fprintf(stderr,
INT64_FORMAT "/" INT64_FORMAT " kB (100%%) %i/%i tablespaces %35s\r",
totaldone / 1024, totalsize,
tablespacenum, tablespacecount, "");
else
fprintf(stderr,
INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces (%-30.30s)\r",
totaldone / 1024, totalsize,
percent,
tablespacenum, tablespacecount, fn);
}
else
fprintf(stderr, INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces\r",
totaldone / 1024, totalsize,
......@@ -871,7 +884,7 @@ BaseBackup()
if (showprogress)
{
progress_report(PQntuples(res), "");
progress_report(PQntuples(res), NULL);
fprintf(stderr, "\n"); /* Need to move to next line */
}
PQclear(res);
......
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