Skip to content

progress output is too long for Windows console #20122

@jay

Description

@jay

I did this

curld "https://google.com/test" --output out.out

I expected the following

a single line of progress data but sometimes there's multiple lines:

> curld "https://google.com/test" --output out.out
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0      0   0      0   0      0      0      0  --:--:-- --:--:-- --:--:--
100   1565 100   1565   0      0   8059      0  --:--:-- --:--:-- --:--:--
100   1565 100   1565   0      0   7920      0  --:--:-- --:--:-- --:--:--
100   1565 100   1565   0      0   7798      0  --:--:-- --:--:-- --:--:--
0

and here's what it looks like visually
Image

bisected to 28380bb which changed the progress calculation. since then there have been other improvements but it seems that is the first commit when it started happening. it almost looks as if the progress line is 1 too many, and as a result when the \r goes to the beginning of the line it's already on the next line so it doesn't actually overwrite the intended line. notice the 0 only at the end there (which I assume is current speed)

EDIT: My console window size is set to 80x25. This is in Windows 11 and I'm using the regular console without the tabbed terminal thing. I could also reproduce in Windows 7 VM.

curl/libcurl version

curl 8.18.0-DEV (i386-pc-win32) libcurl/8.18.0-DEV Schannel WinIDN WinLDAP

operating system

Windows

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions