This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: printf: %ls or %S does not work when string is of length 1.
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 27 Aug 2008 16:27:58 +0200
- Subject: Re: printf: %ls or %S does not work when string is of length 1.
- References: <e27efe130808270654p515fce76y8356edbfec8b7830@mail.gmail.com>
- Reply-to: cygwin at cygwin dot com
On Aug 27 15:54, Amaury Forgeot d'Arc wrote:
> Hello,
> it seems that cygwin does not correctly handle the %ls format when the
> given string
> has only one character.
>
> The following program should print
> Test 1 (T)
> and that's what it does on Linux 64bit and Windows, when compiled with VS8.0
>
> But cygwin's output is
> Test 1
>
> I've seen this only for 1-wchar strings.
> This is will be a problem with the upcoming python 3.0 interpreter, as
> reported here:
> http://bugs.python.org/issue3626
>
> Is there a problem with cygwin's implementation, or did I miss
> something obvious?
>
>
> /* ======================================== */
> #include <stdio.h>
> int main()
> {
> wchar_t text[] = L"T";
> printf("Test %d (%ls)\n", wcslen(text), text);
> }
> /* ======================================== */
Thanks for the testcase. This looks like a bug in the newlib function
_wcsrtombs_r. I'll send a bug report and a proposed fix upstream.
This will be fixed in Cygwin 1.7.
Thanks again,
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/