Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | RSS feed

  1. #include <reent.h>
  2. #include <wchar.h>
  3. #include <stdio.h>
  4. #include <string.h>
  5. #include <limits.h>
  6. #include "local.h"
  7.  
  8. int
  9. wctob (wint_t wc)
  10. {
  11.   struct _reent *reent;
  12.   mbstate_t mbs;
  13.   unsigned char pmb[MB_LEN_MAX];
  14.  
  15.   if (wc == WEOF)
  16.     return EOF;
  17.  
  18.   /* Put mbs in initial state. */
  19.   memset (&mbs, '\0', sizeof (mbs));
  20.  
  21.   reent = _REENT;
  22.   _REENT_CHECK_MISC(reent);
  23.  
  24.   return __wctomb (reent, (char *) pmb, wc, __locale_charset (), &mbs) == 1
  25.           ? (int) pmb[0] : EOF;
  26. }
  27.