ReactOS
0.4.16-dev-816-g135a9a9
jmstojis.c
Go to the documentation of this file.
1
#include <precomp.h>
2
#include <mbstring.h>
3
#include <locale.h>
4
5
/*
6
* @implemented
7
*/
8
unsigned
int
__cdecl
_mbcjmstojis
(
unsigned
int
c
)
9
{
10
/* Conversion takes place only when codepage is 932.
11
In all other cases, c is returned unchanged */
12
if
(
get_mbcinfo
()->mbcodepage == 932)
13
{
14
if
(
_ismbclegal
(
c
) &&
HIBYTE
(
c
) < 0xf0)
15
{
16
if
(
HIBYTE
(
c
) >= 0xe0)
17
c
-= 0x4000;
18
19
c
= (((
HIBYTE
(
c
) - 0x81)*2 + 0x21) << 8) |
LOBYTE
(
c
);
20
21
if
(
LOBYTE
(
c
) > 0x7f)
22
c
-= 0x1;
23
24
if
(
LOBYTE
(
c
) > 0x9d)
25
c
+= 0x83;
26
else
27
c
-= 0x1f;
28
}
29
else
30
return
0;
/* Codepage is 932, but c can't be converted */
31
}
32
33
return
c
;
34
}
__cdecl
#define __cdecl
Definition:
accygwin.h:79
c
const GLubyte * c
Definition:
glext.h:8905
_ismbclegal
_Check_return_ _CRTIMP int __cdecl _ismbclegal(_In_ unsigned int _Ch)
LOBYTE
#define LOBYTE(W)
Definition:
jmemdos.c:487
HIBYTE
#define HIBYTE(W)
Definition:
jmemdos.c:486
_mbcjmstojis
unsigned int __cdecl _mbcjmstojis(unsigned int c)
Definition:
jmstojis.c:8
c
#define c
Definition:
ke_i.h:80
get_mbcinfo
MSVCRT_pthreadmbcinfo get_mbcinfo(void)
Definition:
locale.c:366
sdk
lib
crt
mbstring
jmstojis.c
Generated on Fri Mar 14 2025 06:14:09 for ReactOS by
1.9.6