%2$, %1$ gettext placeholder replacement is not working under Win32

From: Nicolai Tufar <ntufar(at)gmail(dot)com>
To: pgsql-hackers(at)postgresql(dot)org, pgsql-hackers-win32(at)postgresql(dot)org
Subject: %2$, %1$ gettext placeholder replacement is not working under Win32
Date: 2005-01-17 19:03:56
Message-ID: d809293905011711033e01af7a@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers pgsql-hackers-win32

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fx 2005-01-17 19:17:33 Re: [HACKERS] %2$, %1$ gettext placeholder replacement is not working under Win32
Previous Message Marc G. Fournier 2005-01-17 17:28:21 4 hour countdown

Browse pgsql-hackers-win32 by date

  From Date Subject
Next Message Fx 2005-01-17 19:17:33 Re: [HACKERS] %2$, %1$ gettext placeholder replacement is not working under Win32
Previous Message Marc G. Fournier 2005-01-17 17:28:21 4 hour countdown