[PATCH 3/5] tools/winedump: support dumping quad word values in enumerations

Eric Pouech eric.pouech at gmail.com
Wed Dec 15 06:32:05 CST 2021


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

---
 tools/winedump/msc.c |   13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c
index 9868770abbb..7b90aa362fe 100644
--- a/tools/winedump/msc.c
+++ b/tools/winedump/msc.c
@@ -504,6 +504,7 @@ static void do_field(const unsigned char* start, const unsigned char* end)
     const char*                 cstr;
     const struct p_string*      pstr;
     int leaf_len, value;
+    struct full_value full_value;
 
     while (ptr < end)
     {
@@ -518,18 +519,18 @@ static void do_field(const unsigned char* start, const unsigned char* end)
         switch (fieldtype->generic.id)
         {
         case LF_ENUMERATE_V1:
-            leaf_len = numeric_leaf(&value, &fieldtype->enumerate_v1.value);
+            leaf_len = full_numeric_leaf(&full_value, &fieldtype->enumerate_v1.value);
             pstr = PSTRING(&fieldtype->enumerate_v1.value, leaf_len);
-            printf("\t\tEnumerate V1: '%s' value:%d\n",
-                   p_string(pstr), value);
+            printf("\t\tEnumerate V1: '%s' value:%s\n",
+                   p_string(pstr), full_value_string(&full_value));
             ptr += 2 + 2 + leaf_len + 1 + pstr->namelen;
             break;
 
         case LF_ENUMERATE_V3:
-            leaf_len = numeric_leaf(&value, &fieldtype->enumerate_v3.value);
+            leaf_len = full_numeric_leaf(&full_value, &fieldtype->enumerate_v3.value);
             cstr = (const char*)&fieldtype->enumerate_v3.value + leaf_len;
-            printf("\t\tEnumerate V3: '%s' value:%d\n",
-                   cstr, value);
+            printf("\t\tEnumerate V3: '%s' value:%s\n",
+                   cstr, full_value_string(&full_value));
             ptr += 2 + 2 + leaf_len + strlen(cstr) + 1;
             break;
 




More information about the wine-devel mailing list