Eric Pouech : winedump: Support dumping quad word values in enumerations.

Alexandre Julliard julliard at winehq.org
Fri Dec 17 15:14:56 CST 2021


Module: wine
Branch: master
Commit: a9c177464f1a3cc2a065072e780b4a23e08ff43f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=a9c177464f1a3cc2a065072e780b4a23e08ff43f

Author: Eric Pouech <eric.pouech at gmail.com>
Date:   Wed Dec 15 13:32:05 2021 +0100

winedump: Support dumping quad word values in enumerations.

Signed-off-by: Eric Pouech <eric.pouech at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 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 f0856b2a6a2..3c632ec19e9 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-cvs mailing list