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
04f90ca7
Commit
04f90ca7
authored
Oct 02, 2001
by
Huw D M Davies
Committed by
Alexandre Julliard
Oct 02, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Long nameless args in SLTG apparently get denoted by 0xfffe.
parent
60b59bef
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
11 deletions
+20
-11
typelib.c
dlls/oleaut32/typelib.c
+20
-11
No files found.
dlls/oleaut32/typelib.c
View file @
04f90ca7
...
...
@@ -2480,20 +2480,29 @@ static SLTG_TypeInfoTail *SLTG_ProcessInterface(char *pBlk, ITypeInfoImpl *pTI,
for
(
param
=
0
;
param
<
(
*
ppFuncDesc
)
->
funcdesc
.
cParams
;
param
++
)
{
char
*
paramName
=
pNameTable
+
*
pArg
;
/* right, if the arg type follows then paramName points to the 2nd
letter of the name (or there is no name), else if the next
WORD is an offset to the arg type then paramName points to the
first letter. So let's take one char off paramName and if we're
pointing at an alpha-numeric char. Got that? */
if
(
*
pArg
==
0xffff
)
/* If we don't have a name the type seems to
always follow. FIXME is this correct? */
paramName
=
NULL
;
BOOL
HaveOffs
;
/* If arg type follows then paramName points to the 2nd
letter of the name, else the next WORD is an offset to
the arg type and paramName points to the first letter.
So let's take one char off paramName and see if we're
pointing at an alpha-numeric char. However if *pArg is
0xffff or 0xfffe then the param has no name, the former
meaning that the next WORD is the type, the latter
meaning the the next WORD is an offset to the type. */
HaveOffs
=
FALSE
;
if
(
*
pArg
==
0xffff
)
paramName
=
NULL
;
else
if
(
*
pArg
==
0xfffe
)
{
paramName
=
NULL
;
HaveOffs
=
TRUE
;
}
else
if
(
!
isalnum
(
*
(
paramName
-
1
)))
HaveOffs
=
TRUE
;
pArg
++
;
if
(
paramName
&&
!
isalnum
(
*
(
paramName
-
1
)))
{
/* the next word is an
offset to type */
if
(
HaveOffs
)
{
/* the next word is an offset to type */
pType
=
(
WORD
*
)(
pFirstItem
+
*
pArg
);
SLTG_DoType
(
pType
,
pFirstItem
,
&
(
*
ppFuncDesc
)
->
funcdesc
.
lprgelemdescParam
[
param
]);
...
...
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