aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/mingw/misc/btowc.c
blob: c8fbd8e74d84a05e330376dbf8fb27f9c0da8600 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef WIN32_LEAN_AND_MEAN
#define WIN32_LEAN_AND_MEAN
#endif
#include "mb_wc_common.h"
#include <wchar.h>
#include <stdio.h>
#include <windows.h>

wint_t btowc (int c)
{
  if (c == EOF)
    return (WEOF);
  else
    {
      unsigned char ch = c;
      wchar_t wc = WEOF;
      if (!MultiByteToWideChar (___lc_codepage_func(), MB_ERR_INVALID_CHARS,
                                (char*)&ch, 1, &wc, 1))
        return WEOF;

      return wc;
    }
}