Module: wine Branch: master Commit: 0d17c4748065b337927962c053e0fdcc272251c3 URL: http://source.winehq.org/git/wine.git/?a=commit;h=0d17c4748065b337927962c053...
Author: Piotr Caban piotr@codeweavers.com Date: Tue Oct 22 16:46:43 2013 +0200
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(+), 0 deletions(-)
diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c index e545a5f..f25fd4a 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 396a003..d4695c8 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