winedump: Sync demangling code with msvcrt.

This commit is contained in:
Piotr Caban 2023-12-07 20:30:15 +01:00 committed by Alexandre Julliard
parent e0d027830e
commit 9a42affc34

View file

@ -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 != '@');