This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: wctob function overwrites caller-owned register
On May 2 13:28, Corinna Vinschen wrote:
> Thanks for the report. This is actually a newlib bug. I'm going to
> replace the above function with:
> [...]
No, hang on. This function is a single big bug. Here's the replacement
I'll check in:
int
wctob (wint_t wc)
{
mbstate_t mbs;
unsigned char pmb[MB_LEN_MAX];
if (wc == WEOF)
return EOF;
/* Put mbs in initial state. */
memset (&mbs, '\0', sizeof (mbs));
_REENT_CHECK_MISC(_REENT);
return __wctomb (_REENT, (char *) pmb, wc, __locale_charset (), &mbs) == 1
? (int) pmb[0] : EOF;
}
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Project Co-Leader cygwin AT cygwin DOT com
Red Hat
--
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