Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] snprintf causes regression tests to fail

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Nicolai Tufar <ntufar(at)gmail(dot)com>
Cc: Joerg Hessdoerfer <Joerg(dot)Hessdoerfer(at)sea-gmbh(dot)com>,Magnus Hagander <mha(at)sollentuna(dot)net>,Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>,pgsql-hackers-win32(at)postgresql(dot)org
Subject: Re: [HACKERS] snprintf causes regression tests to fail
Date: 2005-03-02 00:28:35
Message-ID: 2974.1109723315@sss.pgh.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-hackers-win32
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.

			regards, tom lane

In response to

Responses

pgsql-hackers by date

Next:From: Bruce MomjianDate: 2005-03-02 01:55:11
Subject: Re: snprintf causes regression tests to fail
Previous:From: Bruce MomjianDate: 2005-03-02 00:00:48
Subject: Re: [pgsql-hackers-win32] snprintf causes regression tests to fail

pgsql-hackers-win32 by date

Next:From: Bruce MomjianDate: 2005-03-02 01:55:11
Subject: Re: snprintf causes regression tests to fail
Previous:From: Bruce MomjianDate: 2005-03-02 00:00:48
Subject: Re: [pgsql-hackers-win32] snprintf causes regression tests to fail

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group