diff options
Diffstat (limited to 'gl/mbsinit.c')
| -rw-r--r-- | gl/mbsinit.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gl/mbsinit.c b/gl/mbsinit.c index 066ddfe5..26fbb7fa 100644 --- a/gl/mbsinit.c +++ b/gl/mbsinit.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Test for initial conversion state. | 1 | /* Test for initial conversion state. |
| 2 | Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. | 2 | Copyright (C) 2008-2013 Free Software Foundation, Inc. |
| 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. | 3 | Written by Bruno Haible <bruno@clisp.org>, 2008. |
| 4 | 4 | ||
| 5 | This program is free software: you can redistribute it and/or modify | 5 | This program is free software: you can redistribute it and/or modify |
| @@ -22,6 +22,18 @@ | |||
| 22 | 22 | ||
| 23 | #include "verify.h" | 23 | #include "verify.h" |
| 24 | 24 | ||
| 25 | #if (defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__ | ||
| 26 | |||
| 27 | /* On native Windows, 'mbstate_t' is defined as 'int'. */ | ||
| 28 | |||
| 29 | int | ||
| 30 | mbsinit (const mbstate_t *ps) | ||
| 31 | { | ||
| 32 | return ps == NULL || *ps == 0; | ||
| 33 | } | ||
| 34 | |||
| 35 | #else | ||
| 36 | |||
| 25 | /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs() | 37 | /* Platforms that lack mbsinit() also lack mbrlen(), mbrtowc(), mbsrtowcs() |
| 26 | and wcrtomb(), wcsrtombs(). | 38 | and wcrtomb(), wcsrtombs(). |
| 27 | We assume that | 39 | We assume that |
| @@ -43,5 +55,7 @@ mbsinit (const mbstate_t *ps) | |||
| 43 | { | 55 | { |
| 44 | const char *pstate = (const char *)ps; | 56 | const char *pstate = (const char *)ps; |
| 45 | 57 | ||
| 46 | return pstate[0] == 0; | 58 | return pstate == NULL || pstate[0] == 0; |
| 47 | } | 59 | } |
| 60 | |||
| 61 | #endif | ||
