%2$, %1$ gettext placeholder replacement is not working under Win32 - Mailing list pgsql-hackers

From Nicolai Tufar
Subject %2$, %1$ gettext placeholder replacement is not working under Win32
Date
Msg-id d809293905011711033e01af7a@mail.gmail.com
Whole thread Raw
In response to 4 hour countdown  ("Marc G. Fournier" <scrappy@postgresql.org>)
Responses Re: %2$, %1$ gettext placeholder replacement is not working under Win32  (Fx <weimaraner@gmail.com>)
Re: [pgsql-hackers-win32] %2$, %1$ gettext placeholder replacement is not working under Win32  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Sorry for such a late submission.

I just downloaded the latest postgresql-8.0.0-rc5-3.zip installer
for windows and it appears that Windows' printf() does not
support placeholder replacement as described in
http://developer.postgresql.org/docs/postgres/nls.html#AEN57284

I searched list archives but found no explanation for this.
Original string is <<%s at or near \"%s\">> and we
replaced it in Turkish for <<\"%2$s\"  yerinde %1$s>>.

It works perfectly fine on Linux but fails miserably under
Windows with something like:
<<HATA:  "$s"  yerinde $sat character 1>>
    while on Linux the same version works fine:
<<HATA: "sdfassfsdfasd" yerinde söz dizim hatasý at character 1 >>

What is it? I suppose that Windows' printf() does
not support changing the order of placeholder
characters with %2$ .... %1$. Did some one else
deal with it? Is it because of compilation flags?

In any case PostgreSQL version in current pginstaller
is broken.

Best regards,
Nicolai

pgsql-hackers by date:

Previous
From: "Marc G. Fournier"
Date:
Subject: 4 hour countdown
Next
From: Fx
Date:
Subject: Re: %2$, %1$ gettext placeholder replacement is not working under Win32