Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
7eb800f1
Commit
7eb800f1
authored
Jul 29, 2011
by
Piotr Caban
Committed by
Alexandre Julliard
Jul 29, 2011
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp90: Added wctype implementation.
parent
62a55402
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
67 additions
and
6 deletions
+67
-6
msvcp100.spec
dlls/msvcp100/msvcp100.spec
+1
-1
msvcp60.spec
dlls/msvcp60/msvcp60.spec
+1
-1
msvcp70.spec
dlls/msvcp70/msvcp70.spec
+1
-1
msvcp71.spec
dlls/msvcp71/msvcp71.spec
+1
-1
msvcp80.spec
dlls/msvcp80/msvcp80.spec
+1
-1
misc.c
dlls/msvcp90/misc.c
+28
-0
msvcp90.spec
dlls/msvcp90/msvcp90.spec
+1
-1
misc.c
dlls/msvcp90/tests/misc.c
+33
-0
No files found.
dlls/msvcp100/msvcp100.spec
View file @
7eb800f1
...
...
@@ -2867,4 +2867,4 @@
@ stub __Wcrtomb_lk
@ stub towctrans
@ stub wctrans
@
stub
wctype
@
cdecl wctype(str) msvcp90.
wctype
dlls/msvcp60/msvcp60.spec
View file @
7eb800f1
...
...
@@ -4317,4 +4317,4 @@
@ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs
@ cdecl wctob(long) msvcrt.wctob
@ stub wctrans
@
stub
wctype
@
cdecl wctype(str) msvcp90.
wctype
dlls/msvcp70/msvcp70.spec
View file @
7eb800f1
...
...
@@ -5106,4 +5106,4 @@
@ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs
@ cdecl wctob(long) msvcrt.wctob
@ stub wctrans
@
stub
wctype
@
cdecl wctype(str) msvcp90.
wctype
dlls/msvcp71/msvcp71.spec
View file @
7eb800f1
...
...
@@ -5166,4 +5166,4 @@
@ cdecl wcsrtombs(ptr ptr long ptr) msvcrt.wcsrtombs
@ cdecl wctob(long) msvcrt.wctob
@ stub wctrans
@
stub
wctype
@
cdecl wctype(str) msvcp90.
wctype
dlls/msvcp80/msvcp80.spec
View file @
7eb800f1
...
...
@@ -5787,4 +5787,4 @@
@ stub __Wcrtomb_lk
@ stub towctrans
@ stub wctrans
@
stub
wctype
@
cdecl wctype(str) msvcp90.
wctype
dlls/msvcp90/misc.c
View file @
7eb800f1
...
...
@@ -172,3 +172,31 @@ void __thiscall _Lockit_dtor(_Lockit *this)
{
_Lockit__Lockit_dtor
(
this
);
}
/* wctype */
unsigned
short
__cdecl
wctype
(
const
char
*
property
)
{
static
const
struct
{
const
char
*
name
;
unsigned
short
mask
;
}
properties
[]
=
{
{
"alnum"
,
_DIGIT
|
_ALPHA
},
{
"alpha"
,
_ALPHA
},
{
"cntrl"
,
_CONTROL
},
{
"digit"
,
_DIGIT
},
{
"graph"
,
_DIGIT
|
_PUNCT
|
_ALPHA
},
{
"lower"
,
_LOWER
},
{
"print"
,
_DIGIT
|
_PUNCT
|
_BLANK
|
_ALPHA
},
{
"punct"
,
_PUNCT
},
{
"space"
,
_SPACE
},
{
"upper"
,
_UPPER
},
{
"xdigit"
,
_HEX
}
};
int
i
;
for
(
i
=
0
;
i
<
sizeof
(
properties
)
/
sizeof
(
properties
[
0
]);
i
++
)
if
(
!
strcmp
(
property
,
properties
[
i
].
name
))
return
properties
[
i
].
mask
;
return
0
;
}
dlls/msvcp90/msvcp90.spec
View file @
7eb800f1
...
...
@@ -5809,7 +5809,7 @@
@ stub __Wcrtomb_lk
@ stub towctrans
@ stub wctrans
@
stub wctype
@
cdecl wctype(str)
#Functions not exported in native dll:
@ thiscall -arch=win32 ?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAEX_N@Z(ptr long) basic_string_char_tidy_built
...
...
dlls/msvcp90/tests/misc.c
View file @
7eb800f1
...
...
@@ -34,6 +34,8 @@ static BYTE (__cdecl *p_short_eq)(const void*, const void*);
static
char
*
(
__cdecl
*
p_Copy_s
)(
char
*
,
size_t
,
const
char
*
,
size_t
);
static
unsigned
short
(
__cdecl
*
p_wctype
)(
const
char
*
);
#ifdef __i386__
#define __thiscall __stdcall
#else
...
...
@@ -124,6 +126,7 @@ static BOOL init(void)
p_set_invalid_parameter_handler
(
test_invalid_parameter_handler
);
SET
(
p_wctype
,
"wctype"
);
if
(
sizeof
(
void
*
)
==
8
)
{
/* 64-bit initialization */
SET
(
p_char_assign
,
"?assign@?$char_traits@D@std@@SAXAEADAEBD@Z"
);
SET
(
p_wchar_assign
,
"?assign@?$char_traits@_W@std@@SAXAEA_WAEB_W@Z"
);
...
...
@@ -259,6 +262,35 @@ static void test_Copy_s(void)
ok
(
errno
==
0xdeadbeef
,
"errno = %d
\n
"
,
errno
);
}
static
void
test_wctype
(
void
)
{
static
const
struct
{
const
char
*
name
;
unsigned
short
mask
;
}
properties
[]
=
{
{
"alnum"
,
0x107
},
{
"alpha"
,
0x103
},
{
"cntrl"
,
0x020
},
{
"digit"
,
0x004
},
{
"graph"
,
0x117
},
{
"lower"
,
0x002
},
{
"print"
,
0x157
},
{
"punct"
,
0x010
},
{
"space"
,
0x008
},
{
"upper"
,
0x001
},
{
"xdigit"
,
0x080
},
{
"ALNUM"
,
0x000
},
{
"Alnum"
,
0x000
},
{
""
,
0x000
}
};
int
i
,
ret
;
for
(
i
=
0
;
i
<
sizeof
(
properties
)
/
sizeof
(
properties
[
0
]);
i
++
)
{
ret
=
p_wctype
(
properties
[
i
].
name
);
ok
(
properties
[
i
].
mask
==
ret
,
"%d - Expected %x, got %x
\n
"
,
i
,
properties
[
i
].
mask
,
ret
);
}
}
static
void
test_allocator_char
(
void
)
{
void
*
allocator
=
(
void
*
)
0xdeadbeef
;
...
...
@@ -298,6 +330,7 @@ START_TEST(misc)
test_assign
();
test_equal
();
test_Copy_s
();
test_wctype
();
test_allocator_char
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment