mbrtowc bug
Eric Blake
ebb9@byu.net
Mon Jul 20 11:58:00 GMT 2009
-----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-----
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list