Zebediah Figura : msi: Rewrite dump_record().

Alexandre Julliard julliard at winehq.org
Tue Jul 11 15:59:32 CDT 2017


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Tue Jul 11 00:18:32 2017 -0500

msi: Rewrite dump_record().

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Hans Leidekker <hans at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/msi/msipriv.h |  1 +
 dlls/msi/package.c |  1 +
 dlls/msi/record.c  | 25 +++++++++++++++++++++++++
 dlls/msi/table.c   | 19 -------------------
 4 files changed, 27 insertions(+), 19 deletions(-)

diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h
index 71a0873..600800c 100644
--- a/dlls/msi/msipriv.h
+++ b/dlls/msi/msipriv.h
@@ -840,6 +840,7 @@ extern BOOL MSI_RecordsAreEqual( MSIRECORD *, MSIRECORD * ) DECLSPEC_HIDDEN;
 extern BOOL MSI_RecordsAreFieldsEqual(MSIRECORD *a, MSIRECORD *b, UINT field) DECLSPEC_HIDDEN;
 extern UINT msi_record_set_string(MSIRECORD *, UINT, const WCHAR *, int) DECLSPEC_HIDDEN;
 extern const WCHAR *msi_record_get_string(const MSIRECORD *, UINT, int *) DECLSPEC_HIDDEN;
+extern void dump_record(MSIRECORD *) DECLSPEC_HIDDEN;
 
 /* stream internals */
 extern void enum_stream_names( IStorage *stg ) DECLSPEC_HIDDEN;
diff --git a/dlls/msi/package.c b/dlls/msi/package.c
index f1d7eff..6c24f61 100644
--- a/dlls/msi/package.c
+++ b/dlls/msi/package.c
@@ -1860,6 +1860,7 @@ INT MSI_ProcessMessageVerbatim(MSIPACKAGE *package, INSTALLMESSAGE eMessageType,
     char *msg;
 
     TRACE("%x\n", eMessageType);
+    if (TRACE_ON(msi)) dump_record(record);
 
     if ((eMessageType & 0xff000000) == INSTALLMESSAGE_FATALEXIT)
         log_type |= INSTALLLOGMODE_FATALEXIT;
diff --git a/dlls/msi/record.c b/dlls/msi/record.c
index 39ef70f..de45191 100644
--- a/dlls/msi/record.c
+++ b/dlls/msi/record.c
@@ -1077,3 +1077,28 @@ WCHAR *msi_dup_record_field( MSIRECORD *rec, INT field )
     }
     return str;
 }
+
+void dump_record(MSIRECORD *rec)
+{
+    int i;
+    if (!rec)
+    {
+        TRACE("(null)\n");
+        return;
+    }
+
+    TRACE("[");
+    for (i = 0; i <= rec->count; i++)
+    {
+        switch(rec->fields[i].type)
+        {
+        case MSIFIELD_NULL: TRACE("(null)"); break;
+        case MSIFIELD_INT: TRACE("%d", rec->fields[i].u.iVal); break;
+        case MSIFIELD_WSTR: TRACE("%s", debugstr_w(rec->fields[i].u.szwVal)); break;
+        case MSIFIELD_INTPTR: TRACE("%ld", rec->fields[i].u.pVal); break;
+        case MSIFIELD_STREAM: TRACE("%p", rec->fields[i].u.stream); break;
+        }
+        if (i < rec->count) TRACE(", ");
+    }
+    TRACE("]\n");
+}
diff --git a/dlls/msi/table.c b/dlls/msi/table.c
index b364d97..45a1814 100644
--- a/dlls/msi/table.c
+++ b/dlls/msi/table.c
@@ -2410,25 +2410,6 @@ static MSIRECORD *msi_get_transform_record( const MSITABLEVIEW *tv, const string
     return rec;
 }
 
-static void dump_record( MSIRECORD *rec )
-{
-    UINT i, n;
-
-    n = MSI_RecordGetFieldCount( rec );
-    for( i=1; i<=n; i++ )
-    {
-        int len;
-        const WCHAR *sval;
-
-        if( MSI_RecordIsNull( rec, i ) )
-            TRACE("row -> []\n");
-        else if( (sval = msi_record_get_string( rec, i, &len )) )
-            TRACE("row -> [%s]\n", debugstr_wn(sval, len));
-        else
-            TRACE("row -> [0x%08x]\n", MSI_RecordGetInteger( rec, i ) );
-    }
-}
-
 static void dump_table( const string_table *st, const USHORT *rawdata, UINT rawsize )
 {
     UINT i;




More information about the wine-cvs mailing list