On my system (BS2000/390) new progress meter works incorrectly. It outputs grabage beyond buffer boundaries: ... scp 50% 7808KB 913.9KB/s 00:08 ETA▒▒0▒▒ scp 55% 8631KB 906.3KB/s 00:07 ETA▒▒0▒▒ scp 56% 8731KB 825.7KB/s 00:08 ETA▒▒0▒▒ scp 58% 9131KB 783.4KB/s 00:08 ETA▒▒0▒▒ scp 71% 11MB 908.0KB/s 00:04 ETA▒▒0▒▒ scp 74% 11MB 860.9KB/s 00:04 ETA▒▒0▒▒ scp 75% 11MB 785.0KB/s 00:04 ETA▒▒0▒▒ scp 84% 13MB 858.7KB/s 00:02 ETA▒▒0▒▒ scp 87% 13MB 822.6KB/s 00:02 ETA▒▒0▒▒ scp 88% 13MB 751.8KB/s 00:02 ETA▒▒0▒▒ scp 89% 14MB 687.8KB/s 00:02 ETA▒▒0▒▒ scp 95% 14MB 708.2KB/s 00:01 ETA▒▒0▒▒ ... Quick investigation showed that culprit is <file_len * -1> in progressmeter.c: snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%*s", file_len * -1, file); If I change it to: snmprintf(buf+1, sizeof(buf)-1 , &file_len, "%-*s", file_len, file); it fixes the issue. "%-*s" is a correct left alignment in printf-like functions.
thanks for the analysis and report. this has been fixed and will be in 8.1.
closing resolved bugs as of 8.6p1 release