X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gdb%2Fgnulib%2Fimport%2Fmbsinit.c;h=372b523ad6cecdfdd6dd69a9bf6f87141ec1c07e;hb=5e8754f90abbbf832987477eea4ee91a9d2f694c;hp=e23a5ad3184b02b47fa9502ca51ac4c82cbd738a;hpb=8ec235834d454a66a89fe16bc62e11497eb79078;p=external%2Fbinutils.git diff --git a/gdb/gnulib/import/mbsinit.c b/gdb/gnulib/import/mbsinit.c index e23a5ad..372b523 100644 --- a/gdb/gnulib/import/mbsinit.c +++ b/gdb/gnulib/import/mbsinit.c @@ -1,5 +1,5 @@ /* Test for initial conversion state. - Copyright (C) 2008-2018 Free Software Foundation, Inc. + Copyright (C) 2008-2016 Free Software Foundation, Inc. Written by Bruno Haible , 2008. This program is free software: you can redistribute it and/or modify @@ -13,7 +13,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program. If not, see . */ + along with this program. If not, see . */ #include @@ -22,7 +22,17 @@ #include "verify.h" -#if GNULIB_defined_mbstate_t +#if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ + +/* On native Windows, 'mbstate_t' is defined as 'int'. */ + +int +mbsinit (const mbstate_t *ps) +{ + return ps == NULL || *ps == 0; +} + +#else /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs() and wcrtomb(), wcsrtombs(). @@ -35,7 +45,6 @@ We define the meaning of mbstate_t as follows: - In mb -> wc direction, mbstate_t's first byte contains the number of buffered bytes (in the range 0..3), followed by up to 3 buffered bytes. - See mbrtowc.c. - In wc -> mb direction, mbstate_t contains no information. In other words, it is always in the initial state. */ @@ -49,25 +58,4 @@ mbsinit (const mbstate_t *ps) return pstate == NULL || pstate[0] == 0; } -#else - -int -mbsinit (const mbstate_t *ps) -{ -# if defined _WIN32 && !defined __CYGWIN__ - /* Native Windows. */ -# ifdef __MINGW32__ - /* On mingw, 'mbstate_t' is defined as 'int'. */ - return ps == NULL || *ps == 0; -# else - /* MSVC defines 'mbstate_t' as an 8-byte struct; the first 4-bytes matter. */ - return ps == NULL || *(const unsigned int *)ps == 0; -# endif -# else - /* Minix, HP-UX 11.00, Solaris 2.6, Interix, ... */ - /* Maybe this definition works, maybe not... */ - return ps == NULL || *(const char *)ps == 0; -# endif -} - #endif