[PATCH 3/9] dbghelp: report a couple of more VARIANT's types in symbol info for constants

Eric Pouech eric.pouech at gmail.com
Tue Oct 12 11:10:27 CDT 2021


Signed-off-by: Eric Pouech <eric.pouech at gmail.com>

---
 dlls/dbghelp/symbol.c |   17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/dlls/dbghelp/symbol.c b/dlls/dbghelp/symbol.c
index ffb0e53fdeb..991aa9bd165 100644
--- a/dlls/dbghelp/symbol.c
+++ b/dlls/dbghelp/symbol.c
@@ -750,13 +750,16 @@ static void symt_fill_sym_info(struct module_pair* pair,
                     sym_info->Flags |= SYMFLAG_LOCAL;
                 switch (data->u.value.n1.n2.vt)
                 {
-                case VT_I4:  sym_info->Value = (ULONG)data->u.value.n1.n2.n3.lVal; break;
-                case VT_I2:  sym_info->Value = (ULONG)(LONG_PTR)data->u.value.n1.n2.n3.iVal; break;
-                case VT_I1:  sym_info->Value = (ULONG)(LONG_PTR)data->u.value.n1.n2.n3.cVal; break;
-                case VT_UI4: sym_info->Value = (ULONG)data->u.value.n1.n2.n3.ulVal; break;
-                case VT_UI2: sym_info->Value = (ULONG)data->u.value.n1.n2.n3.uiVal; break;
-                case VT_UI1: sym_info->Value = (ULONG)data->u.value.n1.n2.n3.bVal; break;
-                case VT_I1 | VT_BYREF: sym_info->Value = (ULONG64)(DWORD_PTR)data->u.value.n1.n2.n3.byref; break;
+                case VT_I8:  sym_info->Value = (LONG64)data->u.value.n1.n2.n3.llVal; break;
+                case VT_I4:  sym_info->Value = (LONG64)data->u.value.n1.n2.n3.lVal; break;
+                case VT_I2:  sym_info->Value = (LONG64)data->u.value.n1.n2.n3.iVal; break;
+                case VT_I1:  sym_info->Value = (LONG64)data->u.value.n1.n2.n3.cVal; break;
+                case VT_UINT:sym_info->Value = data->u.value.n1.n2.n3.uintVal; break;
+                case VT_UI8: sym_info->Value = data->u.value.n1.n2.n3.ullVal; break;
+                case VT_UI4: sym_info->Value = data->u.value.n1.n2.n3.ulVal; break;
+                case VT_UI2: sym_info->Value = data->u.value.n1.n2.n3.uiVal; break;
+                case VT_UI1: sym_info->Value = data->u.value.n1.n2.n3.bVal; break;
+                case VT_I1 | VT_BYREF: sym_info->Value = (DWORD_PTR)data->u.value.n1.n2.n3.byref; break;
                 case VT_EMPTY: sym_info->Value = 0; break;
                 default:
                     FIXME("Unsupported variant type (%u)\n", data->u.value.n1.n2.vt);




More information about the wine-devel mailing list