bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: small fix for lib/sh/snprintf.c


From: Joachim Schmitz
Subject: Re: small fix for lib/sh/snprintf.c
Date: Thu, 12 Apr 2012 19:15:42 +0200

Petr Sumbera wrote:
Hi,

we are running Bash 3.2.38 on Solaris 10 where asprintf() isn't
available. Thus code in snprintf.c is used.

There is a problem with following command:

bash -c 'printf "x%10.0fx\n" 123'
x0000000123x

Where correct output should be:
x       123x

It seems that '0' after '.' enables zero padding. Please see proposed
patch bellow:

--- bash-3.2.48/lib/sh/snprintf.c       Tue Dec 12 12:10:18 2006
+++ bash-3.2.48/lib/sh/snprintf.c       Thu Apr 12 08:55:44 2012
@@ -1277,6 +1277,8 @@
                data->flags |= PF_ALTFORM;
                continue;
              case '0':
+               if (data->flags & PF_DOT)
+                 continue;
                data->flags |= PF_ZEROPAD;
                data->pad = '0';
                continue;

The same code seems to be also in Bash 4.1 so I guess the problem is
still there.

Same code is in bash-4.2.24, the latest currently



reply via email to

[Prev in Thread] Current Thread [Next in Thread]