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
3c2a9f5d
Commit
3c2a9f5d
authored
Feb 06, 2007
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: size_is and length_is are expression lists now.
parent
3bfa88dc
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
59 additions
and
30 deletions
+59
-30
header.c
tools/widl/header.c
+10
-0
header.h
tools/widl/header.h
+1
-0
proxy.c
tools/widl/proxy.c
+3
-2
typegen.c
tools/widl/typegen.c
+45
-28
No files found.
tools/widl/header.c
View file @
3c2a9f5d
...
...
@@ -85,6 +85,16 @@ int is_conformant_array( const array_dims_t *array )
return
!
dim
->
is_const
;
}
int
is_non_void
(
const
expr_list_t
*
list
)
{
const
expr_t
*
expr
;
if
(
list
)
LIST_FOR_EACH_ENTRY
(
expr
,
list
,
const
expr_t
,
entry
)
if
(
expr
->
type
!=
EXPR_VOID
)
return
1
;
return
0
;
}
void
write_guid
(
FILE
*
f
,
const
char
*
guid_prefix
,
const
char
*
name
,
const
UUID
*
uuid
)
{
if
(
!
uuid
)
return
;
...
...
tools/widl/header.h
View file @
3c2a9f5d
...
...
@@ -26,6 +26,7 @@ extern void *get_attrp(const attr_list_t *list, enum attr_type t);
extern
unsigned
long
get_attrv
(
const
attr_list_t
*
list
,
enum
attr_type
t
);
extern
int
is_void
(
const
type_t
*
t
,
const
var_t
*
v
);
extern
int
is_conformant_array
(
const
array_dims_t
*
array
);
extern
int
is_non_void
(
const
expr_list_t
*
list
);
extern
void
write_name
(
FILE
*
h
,
const
var_t
*
v
);
extern
const
char
*
get_name
(
const
var_t
*
v
);
extern
void
write_type
(
FILE
*
h
,
type_t
*
t
,
const
var_t
*
v
,
const
char
*
n
);
...
...
tools/widl/proxy.c
View file @
3c2a9f5d
...
...
@@ -196,13 +196,14 @@ static void free_variable( const var_t *arg )
var_t
*
constraint
;
int
index
=
0
;
/* FIXME */
type_t
*
type
;
expr_t
*
expr
;
expr_
list_
t
*
expr
;
expr
=
get_attrp
(
arg
->
attrs
,
ATTR_SIZEIS
);
if
(
expr
)
{
const
expr_t
*
size
=
LIST_ENTRY
(
list_head
(
expr
),
const
expr_t
,
entry
);
print_proxy
(
"_StubMsg.MaxCount = "
,
arg
->
name
);
write_expr
(
proxy
,
expr
,
0
);
write_expr
(
proxy
,
size
,
0
);
fprintf
(
proxy
,
";
\n\n
"
);
print_proxy
(
"NdrClearOutParameters( &_StubMsg, "
);
fprintf
(
proxy
,
"&__MIDL_TypeFormatString.Format[%d], "
,
index
);
...
...
tools/widl/typegen.c
View file @
3c2a9f5d
This diff is collapsed.
Click to expand it.
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