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
e620869d
Commit
e620869d
authored
Jun 13, 2011
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: Output the list of rundown routines in server files.
parent
717f2beb
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
27 additions
and
2 deletions
+27
-2
header.c
tools/widl/header.c
+1
-1
server.c
tools/widl/server.c
+25
-1
widltypes.h
tools/widl/widltypes.h
+1
-0
No files found.
tools/widl/header.c
View file @
e620869d
...
...
@@ -39,7 +39,7 @@
static
int
indentation
=
0
;
static
int
is_object_interface
=
0
;
user_type_list_t
user_type_list
=
LIST_INIT
(
user_type_list
);
static
context_handle_list_t
context_handle_list
=
LIST_INIT
(
context_handle_list
);
context_handle_list_t
context_handle_list
=
LIST_INIT
(
context_handle_list
);
generic_handle_list_t
generic_handle_list
=
LIST_INIT
(
generic_handle_list
);
static
void
write_type_def_or_decl
(
FILE
*
f
,
type_t
*
t
,
int
field
,
const
char
*
name
);
...
...
tools/widl/server.c
View file @
e620869d
...
...
@@ -307,6 +307,26 @@ static void write_routinetable(type_t *iface)
}
static
void
write_rundown_routines
(
void
)
{
context_handle_t
*
ch
;
int
count
=
list_count
(
&
context_handle_list
);
if
(
!
count
)
return
;
print_server
(
"static const NDR_RUNDOWN RundownRoutines[] =
\n
"
);
print_server
(
"{
\n
"
);
indent
++
;
LIST_FOR_EACH_ENTRY
(
ch
,
&
context_handle_list
,
context_handle_t
,
entry
)
{
print_server
(
"%s_rundown"
,
ch
->
name
);
if
(
--
count
)
fputc
(
','
,
server
);
fputc
(
'\n'
,
server
);
}
indent
--
;
print_server
(
"};
\n\n
"
);
}
static
void
write_serverinfo
(
type_t
*
iface
)
{
print_server
(
"static const MIDL_SERVER_INFO %s_ServerInfo =
\n
"
,
iface
->
name
);
...
...
@@ -345,7 +365,10 @@ static void write_stubdescriptor(type_t *iface, int expr_eval_routines)
print_server
(
"0,
\n
"
);
indent
--
;
print_server
(
"},
\n
"
);
print_server
(
"0,
\n
"
);
if
(
!
list_empty
(
&
context_handle_list
))
print_server
(
"RundownRoutines,
\n
"
);
else
print_server
(
"0,
\n
"
);
print_server
(
"0,
\n
"
);
if
(
expr_eval_routines
)
print_server
(
"ExprEvalRoutines,
\n
"
);
...
...
@@ -505,6 +528,7 @@ static void write_server_routines(const statement_list_t *stmts)
if
(
expr_eval_routines
)
write_expr_eval_routine_list
(
server
,
server_token
);
write_user_quad_list
(
server
);
write_rundown_routines
();
write_server_stmts
(
stmts
,
expr_eval_routines
,
&
proc_offset
);
...
...
tools/widl/widltypes.h
View file @
e620869d
...
...
@@ -533,6 +533,7 @@ typedef enum {
extern
syskind_t
typelib_kind
;
extern
user_type_list_t
user_type_list
;
extern
context_handle_list_t
context_handle_list
;
extern
generic_handle_list_t
generic_handle_list
;
void
check_for_additional_prototype_types
(
const
var_list_t
*
list
);
...
...
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