Skip to content

Commit e44c624

Browse files
committed
[CRT] sync ischira.c to wine 1.9.16
svn path=/trunk/; revision=72643
1 parent acc2841 commit e44c624

File tree

2 files changed

+38
-41
lines changed

2 files changed

+38
-41
lines changed

reactos/media/doc/README.WINE

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -299,8 +299,9 @@ msvcrt -
299299
reactos/sdk/lib/crt/string/strtoul.c # Synced to WineStaging-1.9.9
300300
reactos/sdk/lib/crt/string/strxfrm.c # Synced to Wine-1.9.16
301301
reactos/sdk/lib/crt/string/wcs.c # Synced at 20080611
302-
reactos/sdk/lib/crt/string/wctype.c # Synced at WineStaging-1.9.16
303-
reactos/sdk/lib/crt/string/wtoi64.c # Synced at Wine-1.9.16
302+
reactos/sdk/lib/crt/string/wctype.c # Synced to WineStaging-1.9.16
303+
reactos/sdk/lib/crt/string/wtoi64.c # Synced to Wine-1.9.16
304+
reactos/sdk/lib/crt/mbstring/ischira.c # Synced to Wine-1.9.16
304305
reactos/sdk/lib/crt/wine/heap.c # Synced at 20080529
305306
reactos/sdk/lib/crt/wine/undname.c # Synced to WineStaging-1.9.16
306307
reactos/sdk/lib/crt/process/thread.c # Synced to WineStaging-1.7.55
Lines changed: 35 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,54 @@
1-
/*
2-
* COPYRIGHT: See COPYING in the top level directory
3-
* PROJECT: ReactOS system libraries
4-
* FILE: lib/sdk/crt/mbstring/ischira.c
5-
* PURPOSE:
6-
* PROGRAMER:
7-
* UPDATE HISTORY:
8-
* 12/04/99: Ariadne Created
9-
* 05/30/08: Samuel Serapion adapted from PROJECT C Library
10-
*
11-
*/
12-
1+
#include <precomp.h>
132
#include <mbctype.h>
143

15-
16-
/*
17-
* @implemented
4+
/*********************************************************************
5+
* _ismbchira(MSVCRT.@)
186
*/
19-
int _ismbchira( unsigned int c )
7+
int CDECL _ismbchira(unsigned int c)
208
{
21-
return ((c>=0x829F) && (c<=0x82F1));
9+
if(get_mbcinfo()->mbcodepage == 932)
10+
{
11+
/* Japanese/Hiragana, CP 932 */
12+
return (c >= 0x829f && c <= 0x82f1);
13+
}
14+
return 0;
2215
}
2316

24-
/*
25-
* @implemented
17+
/*********************************************************************
18+
* _ismbckata(MSVCRT.@)
2619
*/
27-
int _ismbckata( unsigned int c )
20+
int CDECL _ismbckata(unsigned int c)
2821
{
29-
return ((c>=0x8340) && (c<=0x8396));
22+
if(get_mbcinfo()->mbcodepage == 932)
23+
{
24+
/* Japanese/Katakana, CP 932 */
25+
return (c >= 0x8340 && c <= 0x8396 && c != 0x837f);
26+
}
27+
return 0;
3028
}
3129

32-
/*
33-
* @implemented
30+
/*********************************************************************
31+
* _mbctohira (MSVCRT.@)
32+
*
33+
* Converts a sjis katakana character to hiragana.
3434
*/
35-
unsigned int _mbctohira( unsigned int c )
35+
unsigned int CDECL _mbctohira(unsigned int c)
3636
{
37-
if (c >= 0x8340 && c <= 0x837e)
38-
return c - 0xa1;
39-
else if (c >= 0x8380 && c <= 0x8396)
40-
return c - 0xa2;
41-
else
42-
return c;
37+
if(_ismbckata(c) && c <= 0x8393)
38+
return (c - 0x8340 - (c >= 0x837f ? 1 : 0)) + 0x829f;
39+
return c;
4340
}
4441

45-
/*
46-
* @implemented
42+
/*********************************************************************
43+
* _mbctokata (MSVCRT.@)
44+
*
45+
* Converts a sjis hiragana character to katakana.
4746
*/
48-
unsigned int _mbctokata( unsigned int c )
47+
unsigned int CDECL _mbctokata(unsigned int c)
4948
{
50-
if (c >= 0x829f && c <= 0x82dd)
51-
return c + 0xa1;
52-
else if (c >= 0x82de && c <= 0x82f1)
53-
return c + 0xa2;
54-
else
55-
return c;
49+
if(_ismbchira(c))
50+
return (c - 0x829f) + 0x8340 + (c >= 0x82de ? 1 : 0);
51+
return c;
5652
}
5753

5854

0 commit comments

Comments
 (0)