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
a940218c
Commit
a940218c
authored
Apr 28, 2008
by
Eric Pouech
Committed by
Alexandre Julliard
Apr 29, 2008
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Fixed symbol unmangling for template-parameter-?? form, as well as test.
Spotted by James Hawkins.
parent
b9f8a81d
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
11 additions
and
2 deletions
+11
-2
cpp.c
dlls/msvcrt/tests/cpp.c
+1
-1
undname.c
dlls/msvcrt/undname.c
+10
-1
No files found.
dlls/msvcrt/tests/cpp.c
View file @
a940218c
...
...
@@ -982,7 +982,7 @@ static void test_demangle(void)
{
"?Qux@Bar@@0PAP6AHPAV1@AAH1PAH@ZA"
,
"private: static int (__cdecl** Bar::Qux)(class Bar *,int &,int &,int *)"
},
{
"?Qux@Bar@@0PAP6AHPAV1@AAH1PAH@ZA"
,
"Bar::Qux"
,
0x1800
},
{
"?$AAA@$DBAB@"
,
"AAA<`template-parameter257'>"
},
{
"?$AAA@
$D?4@"
,
"AAA<`template-parameter-5
'>"
},
{
"?$AAA@
?C@"
,
"AAA<`template-parameter-2
'>"
},
{
"?$AAA@PAUBBB@@"
,
"AAA<struct BBB *>"
},
{
"??$ccccc@PAVaaa@@@bar@bb@foo@@DGPAV0@PAV0@PAVee@@IPAPAVaaa@@1@Z"
,
"private: static class bar * __stdcall foo::bb::bar::ccccc<class aaa *>(class bar *,class ee *,unsigned int,class aaa **,class ee *)"
},
};
...
...
dlls/msvcrt/undname.c
View file @
a940218c
...
...
@@ -759,7 +759,16 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
break
;
case
'?'
:
/* not all the time is seems */
if
(
!
get_modified_type
(
ct
,
sym
,
pmt_ref
,
'?'
))
goto
done
;
if
(
in_args
)
{
const
char
*
ptr
;
if
(
!
(
ptr
=
get_number
(
sym
)))
goto
done
;
ct
->
left
=
str_printf
(
sym
,
"`template-parameter-%s'"
,
ptr
);
}
else
{
if
(
!
get_modified_type
(
ct
,
sym
,
pmt_ref
,
'?'
))
goto
done
;
}
break
;
case
'A'
:
/* reference */
case
'B'
:
/* volatile reference */
...
...
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