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) ...@@ -207,11 +207,24 @@ progress_report(int tablespacenum, char *fn)
percent = 100; percent = 100;
if (verbose) if (verbose)
fprintf(stderr, {
INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces (%-30s)\r", if (!fn)
totaldone / 1024, totalsize,
percent, /*
tablespacenum, tablespacecount, 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 else
fprintf(stderr, INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces\r", fprintf(stderr, INT64_FORMAT "/" INT64_FORMAT " kB (%i%%) %i/%i tablespaces\r",
totaldone / 1024, totalsize, totaldone / 1024, totalsize,
...@@ -871,7 +884,7 @@ BaseBackup() ...@@ -871,7 +884,7 @@ BaseBackup()
if (showprogress) if (showprogress)
{ {
progress_report(PQntuples(res), ""); progress_report(PQntuples(res), NULL);
fprintf(stderr, "\n"); /* Need to move to next line */ fprintf(stderr, "\n"); /* Need to move to next line */
} }
PQclear(res); 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