Eric Blake wrote:
> Jim Meyering <jim <at> meyering.net> writes:
>
>> @@ -20,4 +20,4 @@
>> #include <wchar.h>
>>
>> /* Internal state used by the functions mbsrtowcs() and mbsnrtowcs(). */
>> -mbstate_t _gl_mbsrtowcs_state = 0;
>> +mbstate_t _gl_mbsrtowcs_state = { 0, };
>
> Is this correct for all platforms? If I read Posix correctly, mbstate_t can
> be
> a numeric type rather than a struct.
Good point.
Maybe we can use something like this instead:
static mbstate_t _dummy;
mbstate_t _gl_mbsrtowcs_state = _dummy;
> But this declaration is at global scope. Why use an initializer at all, when
> this should work regardless of the underlying type?
>
> mbstate_t _gl_mbsrtowcs_state;
See his earlier commit:
2009-01-25 Bruno Haible <[email protected]>
Avoid link errors on MacOS X 10.3.
* lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
* lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.