mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-01 18:58:29 +00:00
winedump: Sync demangling code with msvcrt.
This commit is contained in:
parent
e0d027830e
commit
9a42affc34
|
@ -410,6 +410,28 @@ static BOOL get_qualified_type(struct datatype_t *ct, struct parsed_symbol* sym,
|
|||
ct->right = NULL;
|
||||
ct->flags = 0;
|
||||
|
||||
/* parse managed handle information */
|
||||
if (sym->current[0] == '$' && sym->current[1] == 'A')
|
||||
{
|
||||
sym->current += 2;
|
||||
|
||||
switch (qualif)
|
||||
{
|
||||
case 'A':
|
||||
case 'B':
|
||||
ref = " %";
|
||||
break;
|
||||
case 'P':
|
||||
case 'Q':
|
||||
case 'R':
|
||||
case 'S':
|
||||
ref = " ^";
|
||||
break;
|
||||
default:
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (get_qualifier(sym, &xdt2, &class))
|
||||
{
|
||||
unsigned mark = sym->stack.num;
|
||||
|
@ -482,7 +504,8 @@ static char* get_literal_string(struct parsed_symbol* sym)
|
|||
if (!((*sym->current >= 'A' && *sym->current <= 'Z') ||
|
||||
(*sym->current >= 'a' && *sym->current <= 'z') ||
|
||||
(*sym->current >= '0' && *sym->current <= '9') ||
|
||||
*sym->current == '_' || *sym->current == '$')) {
|
||||
*sym->current == '_' || *sym->current == '$' ||
|
||||
*sym->current == '<' || *sym->current == '>')) {
|
||||
return NULL;
|
||||
}
|
||||
} while (*++sym->current != '@');
|
||||
|
|
Loading…
Reference in a new issue