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
ba6aec70
Commit
ba6aec70
authored
Dec 06, 2007
by
Rob Shearman
Committed by
Alexandre Julliard
Dec 07, 2007
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
rpcrt4: Implement NdrConformantStructFree.
parent
8070e52c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
34 additions
and
1 deletion
+34
-1
ndr_marshall.c
dlls/rpcrt4/ndr_marshall.c
+34
-1
No files found.
dlls/rpcrt4/ndr_marshall.c
View file @
ba6aec70
...
...
@@ -3559,7 +3559,40 @@ void WINAPI NdrConformantStructFree(PMIDL_STUB_MESSAGE pStubMsg,
unsigned
char
*
pMemory
,
PFORMAT_STRING
pFormat
)
{
FIXME
(
"stub
\n
"
);
const
NDR_CSTRUCT_FORMAT
*
pCStructFormat
=
(
const
NDR_CSTRUCT_FORMAT
*
)
pFormat
;
PFORMAT_STRING
pCArrayFormat
;
ULONG
esize
;
TRACE
(
"(%p, %p, %p)
\n
"
,
pStubMsg
,
pMemory
,
pFormat
);
pFormat
+=
sizeof
(
NDR_CSTRUCT_FORMAT
);
if
((
pCStructFormat
->
type
!=
RPC_FC_CPSTRUCT
)
&&
(
pCStructFormat
->
type
!=
RPC_FC_CSTRUCT
))
{
ERR
(
"invalid format type %x
\n
"
,
pCStructFormat
->
type
);
RpcRaiseException
(
RPC_S_INTERNAL_ERROR
);
return
;
}
pCArrayFormat
=
(
const
unsigned
char
*
)
&
pCStructFormat
->
offset_to_array_description
+
pCStructFormat
->
offset_to_array_description
;
if
(
*
pCArrayFormat
!=
RPC_FC_CARRAY
)
{
ERR
(
"invalid array format type %x
\n
"
,
pCStructFormat
->
type
);
RpcRaiseException
(
RPC_S_INTERNAL_ERROR
);
return
;
}
esize
=
*
(
const
WORD
*
)(
pCArrayFormat
+
2
);
ComputeConformance
(
pStubMsg
,
pMemory
+
pCStructFormat
->
memory_size
,
pCArrayFormat
+
4
,
0
);
TRACE
(
"memory_size = %d
\n
"
,
pCStructFormat
->
memory_size
);
/* copy constant sized part of struct */
pStubMsg
->
BufferMark
=
pStubMsg
->
Buffer
;
if
(
pCStructFormat
->
type
==
RPC_FC_CPSTRUCT
)
EmbeddedPointerFree
(
pStubMsg
,
pMemory
,
pFormat
);
}
/***********************************************************************
...
...
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