[pacman-dev] [PATCH] Second attempt at fixing FS#59201, fixed line overflow caused by not updating padding settings.

Allan McRae allan at archlinux.org
Thu Feb 21 04:54:53 UTC 2019


On 13/2/19 8:27 am, Sever Oraz wrote:
> Signed-off-by: Sever Oraz <severoraz at gmail.com>
> ---

Accepting this and using Eli's suggested commit message.

Additional comment below.

>  src/pacman/callback.c | 22 ++++++++++++----------
>  1 file changed, 12 insertions(+), 10 deletions(-)
> 
> diff --git a/src/pacman/callback.c b/src/pacman/callback.c
> index ee75297c..4ee17d13 100644
> --- a/src/pacman/callback.c
> +++ b/src/pacman/callback.c
> @@ -800,9 +800,11 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
>  	fname[len] = '\0';
>  
>  	/* 1 space + filenamelen + 1 space + 6 for size + 1 space + 3 for label +
> -	 * + 2 spaces + 4 for rate + 1 for label + 2 for /s + 1 space +
> -	 * 8 for eta, gives us the magic 30 */
> -	filenamelen = infolen - 30;
> +	 * + 2 spaces + 4 for rate + 1 space + 3 for label + 2 for /s + 1 space +
> +	 * 8 for eta, gives us the magic 33 */
> +	/* > filename 1000.0 MiB  1000 KiB/s HH:MM:SS
> +	 * >1        1     61  3 2   41  3 21       8 */

I am removing this two line addition - it repeats details in the two
line comment above it, and the line with numbers is very confusing (e.g.
61 is 6 and 1)

> +	filenamelen = infolen - 33;
>  	/* see printf() code, we omit 'HH:' in these conditions */
>  	if(eta_h == 0 || eta_h >= 100) {
>  		filenamelen += 3;
> @@ -837,16 +839,16 @@ void cb_dl_progress(const char *filename, off_t file_xfered, off_t file_total)
>  	xfered_human = humanize_size(xfered, '\0', -1, &xfered_label);
>  
>  	printf(" %ls%-*s ", wcfname, padwid, "");
> -	/* We will show 1.62M/s, 11.6M/s, but 116K/s and 1116K/s */
> +	/* We will show 1.62 MiB/s, 11.6 MiB/s, but 116 KiB/s and 1116 KiB/s */
>  	if(rate_human < 9.995) {
> -		printf("%6.1f %3s  %4.2f%c/s ",
> -				xfered_human, xfered_label, rate_human, rate_label[0]);
> +		printf("%6.1f %3s  %4.2f %3s/s ",
> +				xfered_human, xfered_label, rate_human, rate_label);
>  	} else if(rate_human < 99.95) {
> -		printf("%6.1f %3s  %4.1f%c/s ",
> -				xfered_human, xfered_label, rate_human, rate_label[0]);
> +		printf("%6.1f %3s  %4.1f %3s/s ",
> +				xfered_human, xfered_label, rate_human, rate_label);
>  	} else {
> -		printf("%6.1f %3s  %4.f%c/s ",
> -				xfered_human, xfered_label, rate_human, rate_label[0]);
> +		printf("%6.1f %3s  %4.f %3s/s ",
> +				xfered_human, xfered_label, rate_human, rate_label);
>  	}
>  	if(eta_h == 0) {
>  		printf("%02u:%02u", eta_m, eta_s);
> 


More information about the pacman-dev mailing list