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
538d1a12
Commit
538d1a12
authored
Feb 20, 2006
by
Michael Stefaniuc
Committed by
Alexandre Julliard
Feb 20, 2006
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Wrap get_class() and get_class_string() for unDName.
parent
29fe8d02
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
21 additions
and
12 deletions
+21
-12
undname.c
dlls/msvcrt/undname.c
+21
-12
No files found.
dlls/msvcrt/undname.c
View file @
538d1a12
...
@@ -491,6 +491,21 @@ static char* get_class_string(struct parsed_symbol* sym, /*const struct array* a
...
@@ -491,6 +491,21 @@ static char* get_class_string(struct parsed_symbol* sym, /*const struct array* a
}
}
/******************************************************************
/******************************************************************
* get_class_name
* Wrapper around get_class and get_class_string.
*/
static
char
*
get_class_name
(
struct
parsed_symbol
*
sym
)
{
unsigned
mark
=
sym
->
stack
.
num
;
char
*
s
=
NULL
;
if
(
get_class
(
sym
))
s
=
get_class_string
(
sym
,
mark
);
sym
->
stack
.
num
=
mark
;
return
s
;
}
/******************************************************************
* get_calling_convention
* get_calling_convention
* Returns a static string corresponding to the calling convention described
* Returns a static string corresponding to the calling convention described
* by char 'ch'. Sets export to TRUE iff the calling convention is exported.
* by char 'ch'. Sets export to TRUE iff the calling convention is exported.
...
@@ -625,13 +640,11 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
...
@@ -625,13 +640,11 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
case
'V'
:
/* class */
case
'V'
:
/* class */
/* Class/struct/union */
/* Class/struct/union */
{
{
unsigned
mark
=
sym
->
stack
.
num
;
const
char
*
struct_name
=
NULL
;
const
char
*
struct_name
=
NULL
;
const
char
*
type_name
=
NULL
;
const
char
*
type_name
=
NULL
;
if
(
!
get_class
(
sym
)
||
if
(
!
(
struct_name
=
get_class_name
(
sym
)))
!
(
struct_name
=
get_class_string
(
sym
,
mark
)))
goto
done
;
goto
done
;
sym
->
stack
.
num
=
mark
;
if
(
!
(
sym
->
flags
&
UNDNAME_NO_COMPLEX_TYPE
))
if
(
!
(
sym
->
flags
&
UNDNAME_NO_COMPLEX_TYPE
))
{
{
switch
(
dt
)
switch
(
dt
)
...
@@ -691,11 +704,9 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
...
@@ -691,11 +704,9 @@ static BOOL demangle_datatype(struct parsed_symbol* sym, struct datatype_t* ct,
if
(
*
sym
->
current
==
'4'
)
if
(
*
sym
->
current
==
'4'
)
{
{
char
*
enum_name
;
char
*
enum_name
;
unsigned
mark
=
sym
->
stack
.
num
;
sym
->
current
++
;
sym
->
current
++
;
if
(
!
get_class
(
sym
)
||
if
(
!
(
enum_name
=
get_class_name
(
sym
)))
!
(
enum_name
=
get_class_string
(
sym
,
mark
)))
goto
done
;
goto
done
;
sym
->
stack
.
num
=
mark
;
if
(
sym
->
flags
&
UNDNAME_NO_COMPLEX_TYPE
)
if
(
sym
->
flags
&
UNDNAME_NO_COMPLEX_TYPE
)
ct
->
left
=
enum_name
;
ct
->
left
=
enum_name
;
else
else
...
@@ -813,12 +824,10 @@ static BOOL handle_data(struct parsed_symbol* sym)
...
@@ -813,12 +824,10 @@ static BOOL handle_data(struct parsed_symbol* sym)
if
(
!
get_modifier
(
*
sym
->
current
++
,
&
modifier
))
goto
done
;
if
(
!
get_modifier
(
*
sym
->
current
++
,
&
modifier
))
goto
done
;
if
(
*
sym
->
current
!=
'@'
)
if
(
*
sym
->
current
!=
'@'
)
{
{
unsigned
mark
=
sym
->
stack
.
num
;
char
*
cls
=
NULL
;
char
*
cls
=
NULL
;
if
(
!
get_class
(
sym
)
||
if
(
!
(
cls
=
get_class_name
(
sym
)))
!
(
cls
=
get_class_string
(
sym
,
mark
)))
goto
done
;
goto
done
;
sym
->
stack
.
num
=
mark
;
ct
.
right
=
str_printf
(
sym
,
"{for `%s'}"
,
cls
);
ct
.
right
=
str_printf
(
sym
,
"{for `%s'}"
,
cls
);
}
}
break
;
break
;
...
...
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