This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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-----


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]