Re: [HACKERS] snprintf causes regression tests to fail

From: Joerg Hessdoerfer <Joerg(dot)Hessdoerfer(at)sea-gmbh(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers-win32(at)postgresql(dot)org, Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Nicolai Tufar <ntufar(at)gmail(dot)com>, Magnus Hagander <mha(at)sollentuna(dot)net>
Subject: Re: [HACKERS] snprintf causes regression tests to fail
Date: 2005-03-02 08:24:32
Message-ID: 200503020924.33199.Joerg.Hessdoerfer@sea-gmbh.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-hackers-win32

Hi,

On Wednesday 02 March 2005 01:28, you wrote:
> BTW, you should read the official spec for snprintf:
>
> http://www.opengroup.org/onlinepubs/007908799/xsh/fprintf.html
>
> There are a couple of interesting things that the present code is most
> certainly not doing correctly, notably:
>
> In format strings containing the %n$ form of conversion
> specifications, numbered arguments in the argument list can be
> referenced from the format string as many times as required.
>
> Also it seems that runtime precision specs are required to have explicit
> numbers when used in a %n$ string, which is something I didn't know
> until just now. This example in the spec is instructive:
> printf("%1$d:%2$.*3$d:%4$.*3$d\n", hour, min, precision, sec);
>
> It might be a good idea to go look at whichever *BSD we got this code
> from originally, and see if they've upgraded it to do %n$. 'Cause it
> will take a nontrivial amount of work to get from where we are now to
> something that follows the full spec.
>

don't know if PG borrowed the code from here, but according to the manpage
FreeBSD 5.3 seems to have a quite complete implementation, see
http://www.freebsd.org/cgi/man.cgi?query=snprintf&apropos=0&sektion=3&manpath=FreeBSD+5.3-RELEASE+and+Ports&format=html

Would this help?

Greetings,
Jörg
--
Leading SW developer - S.E.A GmbH
Mail: joerg(dot)hessdoerfer(at)sea-gmbh(dot)com
WWW: http://www.sea-gmbh.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Christopher Kings-Lynne 2005-03-02 08:29:23 Re: logging as inserts
Previous Message Tom Lane 2005-03-02 06:33:05 Re: [pgsql-hackers-win32] [HACKERS] snprintf causes regression tests to fail

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Richard Huxton 2005-03-02 08:58:06 Re: Help with tuning this query
Previous Message Ken Egervari 2005-03-02 06:51:11 Help with tuning this query