Re: [HACKERS] snprintf causes regression tests to fail - Mailing list pgsql-hackers-win32

From Joerg Hessdoerfer
Subject Re: [HACKERS] snprintf causes regression tests to fail
Date
Msg-id 200503020924.33199.Joerg.Hessdoerfer@sea-gmbh.com
Whole thread Raw
In response to Re: [HACKERS] snprintf causes regression tests to fail  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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.hessdoerfer@sea-gmbh.com
WWW:  http://www.sea-gmbh.com

pgsql-hackers-win32 by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] snprintf causes regression tests to fail
Next
From: massimo.zanforlin@stdm.net
Date:
Subject: Problem during postgresql-8.0.msi installation