From 46e19c87445f23af43bba2c8d3b409126704b459 Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Thu, 25 Jun 2026 10:42:17 +0200 Subject: [PATCH] tool: init progress bar on demand Determine the terminal size on first invocation, not for all transfers. Closes #22164 --- src/tool_cb_prg.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tool_cb_prg.c b/src/tool_cb_prg.c index 1af621dbaa..7d7f3a8d51 100644 --- a/src/tool_cb_prg.c +++ b/src/tool_cb_prg.c @@ -129,6 +129,9 @@ int tool_progress_cb(void *clientp, curl_off_t total; curl_off_t point; + if(!bar->calls) + update_width(bar); + /* Calculate expected transfer size. initial_size can be less than zero when indicating that we are expecting to get the filesize from the remote */ if(bar->initial_size < 0) { @@ -230,8 +233,6 @@ void progressbarinit(struct ProgressData *bar, struct OperationConfig *config) if(config->use_resume) bar->initial_size = config->resume_from; - update_width(bar); - bar->out = tool_stderr; bar->tick = 150; bar->barmove = 1;