Piotr Caban : msvcrt: Fix __ptr64 displaying when UNDNAME_NO_LEADING_UNDERSCORES flag is used.
Alexandre Julliard
julliard at winehq.org
Tue Oct 22 13:30:42 CDT 2013
Module: wine
Branch: master
Commit: 47908f7ac21f1dd7d5ce930b53ad7d5ad28f6140
URL: http://source.winehq.org/git/wine.git/?a=commit;h=47908f7ac21f1dd7d5ce930b53ad7d5ad28f6140
Author: Piotr Caban <piotr at codeweavers.com>
Date: Tue Oct 22 16:46:52 2013 +0200
msvcrt: Fix __ptr64 displaying when UNDNAME_NO_LEADING_UNDERSCORES flag is used.
---
dlls/msvcrt/tests/cpp.c | 1 +
dlls/msvcrt/undname.c | 7 ++++++-
2 files changed, 7 insertions(+), 1 deletions(-)
diff --git a/dlls/msvcrt/tests/cpp.c b/dlls/msvcrt/tests/cpp.c
index f25fd4a..037c88f 100644
--- a/dlls/msvcrt/tests/cpp.c
+++ b/dlls/msvcrt/tests/cpp.c
@@ -1319,6 +1319,7 @@ static void test_demangle(void)
"[thunk]:public: virtual bool __thiscall SalomeApp::_impl_Engine::_dispatch`vtordispex{36,16,4294967292,8}' (class omniCallHandle &)",
"?_dispatch at _impl_Engine@SalomeApp@@$R4CE at BA@PPPPPPPM at 7AE_NAAVomniCallHandle@@@Z"},
/* 126 */ {"?_Doraise at bad_cast@std@@MEBAXXZ", "protected: virtual void __cdecl std::bad_cast::_Doraise(void)", NULL, 0x60},
+/* 127 */ {"??Xstd@@YAAEAV?$complex at M@0 at AEAV10@AEBV10@@Z", "class std::complex<float> & ptr64 cdecl std::operator*=(class std::complex<float> & ptr64,class std::complex<float> const & ptr64)", NULL, 1},
};
int i, num_test = (sizeof(test)/sizeof(test[0]));
char* name;
diff --git a/dlls/msvcrt/undname.c b/dlls/msvcrt/undname.c
index d4695c8..7cd8468 100644
--- a/dlls/msvcrt/undname.c
+++ b/dlls/msvcrt/undname.c
@@ -407,6 +407,8 @@ static BOOL get_modifier(struct parsed_symbol *sym, const char **ret, const char
if (*sym->current == 'E')
{
*ptr_modif = "__ptr64";
+ if (sym->flags & UNDNAME_NO_LEADING_UNDERSCORES)
+ *ptr_modif = *ptr_modif + 2;
sym->current++;
}
switch (*sym->current++)
@@ -429,7 +431,10 @@ static BOOL get_modified_type(struct datatype_t *ct, struct parsed_symbol* sym,
if (*sym->current == 'E')
{
- ptr_modif = " __ptr64";
+ if (sym->flags & UNDNAME_NO_LEADING_UNDERSCORES)
+ ptr_modif = " ptr64";
+ else
+ ptr_modif = " __ptr64";
sym->current++;
}
More information about the wine-cvs
mailing list