Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
d20c5965
Commit
d20c5965
authored
May 20, 2015
by
Piotr Caban
Committed by
Alexandre Julliard
May 22, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcp120: Add _Do_call implementation.
parent
a7a3cd84
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
3 deletions
+36
-3
msvcp110.spec
dlls/msvcp110/msvcp110.spec
+1
-1
msvcp120.spec
dlls/msvcp120/msvcp120.spec
+1
-1
msvcp120.c
dlls/msvcp120/tests/msvcp120.c
+28
-0
msvcp120_app.spec
dlls/msvcp120_app/msvcp120_app.spec
+1
-1
misc.c
dlls/msvcp90/misc.c
+5
-0
No files found.
dlls/msvcp110/msvcp110.spec
View file @
d20c5965
...
...
@@ -3742,7 +3742,7 @@
@ extern _Denorm
@ stub _Dint
@ stub _Dnorm
@
stub _Do_call
@
cdecl _Do_call(ptr)
@ stub _Dscale
@ stub _Dtento
@ stub _Dtest
...
...
dlls/msvcp120/msvcp120.spec
View file @
d20c5965
...
...
@@ -3683,7 +3683,7 @@
@ extern _Denorm
@ stub _Dint
@ stub _Dnorm
@
stub _Do_call
@
cdecl _Do_call(ptr)
@ stub _Dscale
@ stub _Dtento
@ stub _Dtest
...
...
dlls/msvcp120/tests/msvcp120.c
View file @
d20c5965
...
...
@@ -45,6 +45,7 @@ static int (__cdecl *p_xtime_get)(xtime*, int);
static
_Cvtvec
*
(
__cdecl
*
p__Getcvt
)(
_Cvtvec
*
);
static
void
(
CDECL
*
p__Call_once
)(
int
*
once
,
void
(
CDECL
*
func
)(
void
));
static
void
(
CDECL
*
p__Call_onceEx
)(
int
*
once
,
void
(
CDECL
*
func
)(
void
*
),
void
*
argv
);
static
void
(
CDECL
*
p__Do_call
)(
void
*
this
);
static
HMODULE
msvcp
;
...
...
@@ -64,6 +65,7 @@ static BOOL init(void)
p__Getcvt
=
(
void
*
)
GetProcAddress
(
msvcp
,
"_Getcvt"
);
p__Call_once
=
(
void
*
)
GetProcAddress
(
msvcp
,
"_Call_once"
);
p__Call_onceEx
=
(
void
*
)
GetProcAddress
(
msvcp
,
"_Call_onceEx"
);
p__Do_call
=
(
void
*
)
GetProcAddress
(
msvcp
,
"_Do_call"
);
msvcr
=
GetModuleHandleA
(
"msvcr120.dll"
);
p_setlocale
=
(
void
*
)
GetProcAddress
(
msvcr
,
"setlocale"
);
...
...
@@ -244,6 +246,31 @@ static void test__Call_once(void)
ok
(
once
==
1
,
"once = %x
\n
"
,
once
);
}
static
void
**
vtbl_func0
;
#ifdef __i386__
/* TODO: this should be a __thiscall function */
static
void
__stdcall
thiscall_func
(
void
)
{
cnt
=
1
;
}
#else
static
void
__cdecl
thiscall_func
(
void
*
this
)
{
ok
(
this
==
&
vtbl_func0
,
"incorrect this value
\n
"
);
cnt
=
1
;
}
#endif
static
void
test__Do_call
(
void
)
{
void
*
pfunc
=
thiscall_func
;
cnt
=
0
;
vtbl_func0
=
&
pfunc
;
p__Do_call
(
&
vtbl_func0
);
ok
(
cnt
==
1
,
"func was not called
\n
"
);
}
START_TEST
(
msvcp120
)
{
if
(
!
init
())
return
;
...
...
@@ -251,6 +278,7 @@ START_TEST(msvcp120)
test_xtime_get
();
test__Getcvt
();
test__Call_once
();
test__Do_call
();
FreeLibrary
(
msvcp
);
}
dlls/msvcp120_app/msvcp120_app.spec
View file @
d20c5965
...
...
@@ -3683,7 +3683,7 @@
@ extern _Denorm msvcp120._Denorm
@ stub _Dint
@ stub _Dnorm
@
stub
_Do_call
@
cdecl _Do_call(ptr) msvcp120.
_Do_call
@ stub _Dscale
@ stub _Dtento
@ stub _Dtest
...
...
dlls/msvcp90/misc.c
View file @
d20c5965
...
...
@@ -663,6 +663,11 @@ void __cdecl _Call_once(int *once, void (__cdecl *func)(void))
TRACE
(
"%p %p
\n
"
,
once
,
func
);
_Call_onceEx
(
once
,
call_once_func_wrapper
,
func
);
}
void
__cdecl
_Do_call
(
void
*
this
)
{
CALL_VTBL_FUNC
(
this
,
0
,
void
,
(
void
*
),
(
this
));
}
#endif
void
init_misc
(
void
*
base
)
...
...
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