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
7fb311b4
Commit
7fb311b4
authored
Dec 26, 2005
by
Robert Shearman
Committed by
Alexandre Julliard
Dec 26, 2005
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
widl: Handle marshaling and unmarshaling structures.
parent
4acabfd7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
42 additions
and
1 deletion
+42
-1
typegen.c
tools/widl/typegen.c
+42
-1
No files found.
tools/widl/typegen.c
View file @
7fb311b4
...
@@ -428,11 +428,32 @@ void marshall_arguments(FILE *file, int indent, func_t *func,
...
@@ -428,11 +428,32 @@ void marshall_arguments(FILE *file, int indent, func_t *func,
}
}
else
else
{
{
const
char
*
ndrtype
;
switch
(
var
->
type
->
type
)
switch
(
var
->
type
->
type
)
{
{
case
RPC_FC_STRUCT
:
ndrtype
=
"SimpleStruct"
;
break
;
case
RPC_FC_CSTRUCT
:
case
RPC_FC_CPSTRUCT
:
ndrtype
=
"ConformantStruct"
;
break
;
case
RPC_FC_CVSTRUCT
:
ndrtype
=
"ConformantVaryingStruct"
;
break
;
case
RPC_FC_BOGUS_STRUCT
:
ndrtype
=
"ComplexStruct"
;
break
;
default:
default:
error
(
"marshall_arguments: Unsupported type: %s (0x%02x, ptr_level: 1)
\n
"
,
var
->
name
,
var
->
type
->
type
);
error
(
"marshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)
\n
"
,
var
->
name
,
var
->
type
->
type
,
var
->
ptr_level
);
ndrtype
=
NULL
;
}
}
print_file
(
file
,
indent
,
"Ndr%sMarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d]);
\n
"
,
ndrtype
,
var
->
name
,
*
type_offset
);
}
}
last_size
=
1
;
last_size
=
1
;
}
}
...
@@ -583,12 +604,32 @@ void unmarshall_arguments(FILE *file, int indent, func_t *func,
...
@@ -583,12 +604,32 @@ void unmarshall_arguments(FILE *file, int indent, func_t *func,
}
}
else
else
{
{
const
char
*
ndrtype
;
switch
(
var
->
type
->
type
)
switch
(
var
->
type
->
type
)
{
{
case
RPC_FC_STRUCT
:
ndrtype
=
"SimpleStruct"
;
break
;
case
RPC_FC_CSTRUCT
:
case
RPC_FC_CPSTRUCT
:
ndrtype
=
"ConformantStruct"
;
break
;
case
RPC_FC_CVSTRUCT
:
ndrtype
=
"ConformantVaryingStruct"
;
break
;
case
RPC_FC_BOGUS_STRUCT
:
ndrtype
=
"ComplexStruct"
;
break
;
default:
default:
error
(
"unmarshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)
\n
"
,
error
(
"unmarshall_arguments: Unsupported type: %s (0x%02x, ptr_level: %d)
\n
"
,
var
->
name
,
var
->
type
->
type
,
var
->
ptr_level
);
var
->
name
,
var
->
type
->
type
,
var
->
ptr_level
);
ndrtype
=
NULL
;
}
}
print_file
(
file
,
indent
,
"Ndr%sUnmarshall(&_StubMsg, (unsigned char *)%s, &__MIDL_TypeFormatString.Format[%d], 0);
\n
"
,
ndrtype
,
var
->
name
,
*
type_offset
);
}
}
last_size
=
1
;
last_size
=
1
;
}
}
...
...
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