This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
mbrtowc bug
- From: Eric Blake <ebb9 at byu dot net>
- To: cygwin at cygwin dot com, newlib at sources dot redhat dot com
- Date: Mon, 20 Jul 2009 05:15:12 -0600
- Subject: mbrtowc bug
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
The gnulib unit tests are declaring that cygwin's mbrtowc is broken. STC:
#include <locale.h>
#include <string.h>
#include <wchar.h>
int main ()
{
if (setlocale (LC_ALL, "ja_JP.eucJP") != NULL)
{
char input[] = "B\217\253\344\217\251\316er";
mbstate_t state;
wchar_t wc;
memset (&state, '\0', sizeof (mbstate_t));
if (mbrtowc (&wc, input + 1, 1, &state) == (size_t)(-2))
{
input[1] = '\0';
if (mbrtowc (&wc, input + 2, 5, &state) != 2)
return 1;
}
}
return 0;
}
According to Bruno Haible[1], the bug is in the __eucjp_wctomb and
__eucjp_mbtowc implementations.
[1] http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00051.html
- --
Don't work too hard, make some time for fun as well!
Eric Blake ebb9@byu.net
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (Cygwin)
Comment: Public key at home.comcast.net/~ericblake/eblake.gpg
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkpkUcAACgkQ84KuGfSFAYCpCQCfYuPKrERlzY2J01r1TMXvAaFf
WK0An1oCbMYoUP8/gYapYc2Zf/h2kcYs
=/qQm
-----END PGP SIGNATURE-----