Re: [HACKERS] snprintf causes regression tests to fail
От | Joerg Hessdoerfer |
---|---|
Тема | Re: [HACKERS] snprintf causes regression tests to fail |
Дата | |
Msg-id | 200503020924.33199.Joerg.Hessdoerfer@sea-gmbh.com обсуждение исходный текст |
Ответ на | Re: [HACKERS] snprintf causes regression tests to fail (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | 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 по дате отправления: