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
575485c6
Commit
575485c6
authored
Oct 22, 2010
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: Duplicate all the proxy data tables between 32-bit and 64-bit.
parent
8c5718ec
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
50 deletions
+49
-50
proxy.c
tools/widl/proxy.c
+49
-50
No files found.
tools/widl/proxy.c
View file @
575485c6
...
...
@@ -114,20 +114,6 @@ static void init_proxy(const statement_list_t *stmts)
print_proxy
(
"#define DECLSPEC_HIDDEN
\n
"
);
print_proxy
(
"#endif
\n
"
);
print_proxy
(
"
\n
"
);
write_exceptions
(
proxy
);
print_proxy
(
"
\n
"
);
print_proxy
(
"struct __proxy_frame
\n
"
);
print_proxy
(
"{
\n
"
);
print_proxy
(
" __DECL_EXCEPTION_FRAME
\n
"
);
print_proxy
(
" MIDL_STUB_MESSAGE _StubMsg;
\n
"
);
print_proxy
(
" void *This;
\n
"
);
print_proxy
(
"};
\n
"
);
print_proxy
(
"
\n
"
);
print_proxy
(
"static int __proxy_filter( struct __proxy_frame *__frame )
\n
"
);
print_proxy
(
"{
\n
"
);
print_proxy
(
" return (__frame->_StubMsg.dwStubPhase != PROXY_SENDRECEIVE);
\n
"
);
print_proxy
(
"}
\n
"
);
print_proxy
(
"
\n
"
);
}
static
void
clear_output_vars
(
const
var_list_t
*
args
)
...
...
@@ -775,6 +761,25 @@ static void write_proxy_routines(const statement_list_t *stmts)
{
int
expr_eval_routines
;
unsigned
int
proc_offset
=
0
;
char
*
file_id
=
proxy_token
;
int
i
,
count
,
have_baseiid
;
type_t
**
interfaces
;
const
type_t
*
delegate_to
;
write_exceptions
(
proxy
);
print_proxy
(
"
\n
"
);
print_proxy
(
"struct __proxy_frame
\n
"
);
print_proxy
(
"{
\n
"
);
print_proxy
(
" __DECL_EXCEPTION_FRAME
\n
"
);
print_proxy
(
" MIDL_STUB_MESSAGE _StubMsg;
\n
"
);
print_proxy
(
" void *This;
\n
"
);
print_proxy
(
"};
\n
"
);
print_proxy
(
"
\n
"
);
print_proxy
(
"static int __proxy_filter( struct __proxy_frame *__frame )
\n
"
);
print_proxy
(
"{
\n
"
);
print_proxy
(
" return (__frame->_StubMsg.dwStubPhase != PROXY_SENDRECEIVE);
\n
"
);
print_proxy
(
"}
\n
"
);
print_proxy
(
"
\n
"
);
write_formatstringsdecl
(
proxy
,
indent
,
stmts
,
need_proxy
);
write_stubdescproto
();
...
...
@@ -793,42 +798,6 @@ static void write_proxy_routines(const statement_list_t *stmts)
write_procformatstring
(
proxy
,
stmts
,
need_proxy
);
write_typeformatstring
(
proxy
,
stmts
,
need_proxy
);
}
void
write_proxies
(
const
statement_list_t
*
stmts
)
{
char
*
file_id
=
proxy_token
;
int
i
,
count
,
have_baseiid
;
type_t
**
interfaces
;
const
type_t
*
delegate_to
;
if
(
!
do_proxies
)
return
;
if
(
do_everything
&&
!
need_proxy_file
(
stmts
))
return
;
init_proxy
(
stmts
);
if
(
!
proxy
)
return
;
if
(
do_win32
&&
do_win64
)
{
fprintf
(
proxy
,
"
\n
#ifndef _WIN64
\n\n
"
);
pointer_size
=
4
;
write_proxy_routines
(
stmts
);
fprintf
(
proxy
,
"
\n
#else /* _WIN64 */
\n\n
"
);
pointer_size
=
8
;
write_proxy_routines
(
stmts
);
fprintf
(
proxy
,
"#endif /* _WIN64 */
\n\n
"
);
}
else
if
(
do_win32
)
{
pointer_size
=
4
;
write_proxy_routines
(
stmts
);
}
else
if
(
do_win64
)
{
pointer_size
=
8
;
write_proxy_routines
(
stmts
);
}
interfaces
=
sort_interfaces
(
stmts
,
&
count
);
fprintf
(
proxy
,
"static const CInterfaceProxyVtbl* const _%s_ProxyVtblList[] =
\n
"
,
file_id
);
fprintf
(
proxy
,
"{
\n
"
);
...
...
@@ -901,6 +870,36 @@ void write_proxies(const statement_list_t *stmts)
fprintf
(
proxy
,
" 0,
\n
"
);
fprintf
(
proxy
,
" 0
\n
"
);
fprintf
(
proxy
,
"};
\n
"
);
}
void
write_proxies
(
const
statement_list_t
*
stmts
)
{
if
(
!
do_proxies
)
return
;
if
(
do_everything
&&
!
need_proxy_file
(
stmts
))
return
;
init_proxy
(
stmts
);
if
(
!
proxy
)
return
;
if
(
do_win32
&&
do_win64
)
{
fprintf
(
proxy
,
"
\n
#ifndef _WIN64
\n\n
"
);
pointer_size
=
4
;
write_proxy_routines
(
stmts
);
fprintf
(
proxy
,
"
\n
#else /* _WIN64 */
\n\n
"
);
pointer_size
=
8
;
write_proxy_routines
(
stmts
);
fprintf
(
proxy
,
"
\n
#endif /* _WIN64 */
\n
"
);
}
else
if
(
do_win32
)
{
pointer_size
=
4
;
write_proxy_routines
(
stmts
);
}
else
if
(
do_win64
)
{
pointer_size
=
8
;
write_proxy_routines
(
stmts
);
}
fclose
(
proxy
);
}
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