Module: wine Branch: master Commit: 9a98276f981903bdd179705f1eaf0808f74ca678 URL: https://gitlab.winehq.org/wine/wine/-/commit/9a98276f981903bdd179705f1eaf080...
Author: Eric Pouech eric.pouech@gmail.com Date: Wed Aug 31 10:39:16 2022 +0200
msvcrt: Fix order of extended qualifiers and qualifiers.
Signed-off-by: Eric Pouech eric.pouech@gmail.com
---
dlls/msvcrt/tests/cpp.c | 1 + dlls/msvcrt/undname.c | 6 ++---- 2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c index 7735da4ea89..b2b6a1909b7 100644 --- a/dlls/msvcrt/tests/cpp.c +++ b/dlls/msvcrt/tests/cpp.c @@ -1310,6 +1310,7 @@ static void test_demangle(void) /* 146 */ {"?ptititi3@@3PEStititi@@IES1@", "unsigned int volatile tititi::* __ptr64 volatile __ptr64 ptititi3"}, /* 147 */ {"?ptititi4@@3PETtititi@@IET1@", "unsigned int const volatile tititi::* __ptr64 const volatile __ptr64 ptititi4"}, /* 148 */ {"?ptititi4v@@3RETtititi@@IET1@", "unsigned int const volatile tititi::* __ptr64 const volatile __ptr64 ptititi4v"}, +/* 149 */ {"?meth@AAA@@QFCEXXZ", "public: void __thiscall AAA::meth(void)volatile __unaligned "}, }; int i, num_test = ARRAY_SIZE(test); char* name; diff --git a/dlls/msvcrt/undname.c b/dlls/msvcrt/undname.c index 424d977a2a7..8eb3a12057f 100644 --- a/dlls/msvcrt/undname.c +++ b/dlls/msvcrt/undname.c @@ -456,10 +456,8 @@ static BOOL get_modifier(struct parsed_symbol *sym, struct datatype_t *xdt, cons case 'T': mod = "const volatile"; break; default: return FALSE; } - if (xdt->left && mod) - xdt->left = str_printf(sym, "%s %s", xdt->left, mod); - else if (mod) - xdt->left = mod; + if (mod) + xdt->left = xdt->left ? str_printf(sym, "%s %s", mod, xdt->left) : mod; if (ch >= 'Q' && ch <= 'T') /* pointer to member, fetch class */ { const char* class = get_class_name(sym);