sysdeps-win: Print word-size-dependent offset correctly
authorRalf Habacker <ralf.habacker@freenet.de>
Thu, 22 Mar 2018 14:05:48 +0000 (15:05 +0100)
committerSimon McVittie <smcv@collabora.com>
Thu, 4 Oct 2018 15:54:10 +0000 (16:54 +0100)
AddrPC.Offset is the same size as a pointer, but previously
we printed it as though it was the same size as a long,
which is 32 bits on 64-bit Windows.

Reviewed-by: Simon McVittie <smcv@collabora.com>
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=105662
(cherry picked from commit 577813cf3a89df804efa6d85a1c5415ba12806ec)

dbus/dbus-sysdeps-win.c

index 74a9501..0deedea 100644 (file)
@@ -2556,7 +2556,7 @@ static void dump_backtrace_for_thread (HANDLE hThread)
             DPRINTF ("%3d %s", i++, pSymbol->Name);
         }
       else
-        DPRINTF ("%3d 0x%lx", i++, sf.AddrPC.Offset);
+        DPRINTF ("%3d 0x%Ix", i++, sf.AddrPC.Offset);
 
       line.SizeOfStruct = sizeof(IMAGEHLP_LINE);
       if (SymGetLineFromAddr (GetCurrentProcess (), sf.AddrPC.Offset, &dwDisplacement, &line))