closes bug report #527032, --progress-bar works again and it adds a newline

after the transfer is done properly
This commit is contained in:
Daniel Stenberg 2002-03-08 12:05:57 +00:00
parent c2d4fd876c
commit b86e543a13

View File

@ -1733,18 +1733,19 @@ int my_fwrite(void *buffer, size_t size, size_t nmemb, void *stream)
}
struct ProgressData {
size_t total;
size_t prev;
size_t point;
int calls;
double total;
double prev;
double point;
int width;
FILE *out; /* where to write everything to */
};
int myprogress (void *clientp,
size_t dltotal,
size_t dlnow,
size_t ultotal,
size_t ulnow)
double dltotal,
double dlnow,
double ultotal,
double ulnow)
{
/* The original progress-bar source code was written for curl by Lars Aas,
and this new edition inherites some of his concepts. */
@ -1763,6 +1764,8 @@ int myprogress (void *clientp,
bar->point = dlnow + ulnow; /* we've come this far */
bar->calls++; /* simply count invokes */
if(0 == total) {
int prevblock = bar->prev / 1024;
int thisblock = bar->point / 1024;
@ -2403,6 +2406,12 @@ operate(struct Configurable *config, int argc, char *argv[])
res = curl_easy_perform(curl);
if(progressbar.calls) {
/* if the custom progress bar has been displayed, we output a
newline here */
fputs("\n", progressbar.out);
}
if(config->writeout) {
ourWriteOut(curl, config->writeout);
}