From 0d17c4748065b337927962c053e0fdcc272251c3 Mon Sep 17 00:00:00 2001 From: Piotr Caban Date: Tue, 22 Oct 2013 16:46:43 +0200 Subject: [PATCH] msvcrt: Add support for UNDNAME_NO_THISTYPE flag in __unDName. --- dlls/msvcrt/tests/cpp.c | 1 + dlls/msvcrt/undname.c | 1 + 2 files changed, 2 insertions(+) diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c index e545a5f035b..f25fd4a4685 100644 --- a/dlls/msvcrt/tests/cpp.c +++ b/dlls/msvcrt/tests/cpp.c @@ -1318,6 +1318,7 @@ static void test_demangle(void) /* 125 */ {"?_dispatch@_impl_Engine@SalomeApp@@$R4CE@BA@PPPPPPPM@7AE_NAAVomniCallHandle@@@Z", "[thunk]:public: virtual bool __thiscall SalomeApp::_impl_Engine::_dispatch`vtordispex{36,16,4294967292,8}' (class omniCallHandle &)", "?_dispatch@_impl_Engine@SalomeApp@@$R4CE@BA@PPPPPPPM@7AE_NAAVomniCallHandle@@@Z"}, +/* 126 */ {"?_Doraise@bad_cast@std@@MEBAXXZ", "protected: virtual void __cdecl std::bad_cast::_Doraise(void)", NULL, 0x60}, }; int i, num_test = (sizeof(test)/sizeof(test[0])); char* name; diff --git a/dlls/msvcrt/undname.c b/dlls/msvcrt/undname.c index 396a0039003..d4695c84a61 100644 --- a/dlls/msvcrt/undname.c +++ b/dlls/msvcrt/undname.c @@ -1235,6 +1235,7 @@ static BOOL handle_method(struct parsed_symbol* sym, BOOL cast_op) mark = sym->stack.num; if (has_args && !(args_str = get_args(sym, &array_pmt, TRUE, '(', ')'))) goto done; if (sym->flags & UNDNAME_NAME_ONLY) args_str = modifier = NULL; + if (sym->flags & UNDNAME_NO_THISTYPE) modifier = NULL; sym->stack.num = mark; /* Note: '()' after 'Z' means 'throws', but we don't care here