"long int" is 32 bits on Windows, so %l will silently truncate the argument to 32 bits.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- The standard arguments %z, %j, %t are supported by our msvcrt, and could conceivably be used instead, but native msvcrt only supports them for 64-bit programs, and only with very recent versions of windows. mingw accordingly spits out warnings if they are used in 32-bit code. The only other pointer-size length modifier that msvcrt accepts is %I.
Other options include casting to a pointer or a larger type, or using a macro similar to PRIxPTR. Note that PRIxPTR itself causes warnings on 32-bit platforms, however, because it expands to "x" while the type is defined as "long int", so we would have to define our own such macro. Of these options, using %I seems to me the most palatable.
Note that %I is not supported by our ntdll (for traces from e.g. kernelbase), but native ntdll supports %I, so there should be no problem adding support for it.
dlls/mapi32/imalloc.c | 4 ++-- dlls/mapi32/mapi32_main.c | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/dlls/mapi32/imalloc.c b/dlls/mapi32/imalloc.c index 3e95a6c7cd..561df1a60a 100644 --- a/dlls/mapi32/imalloc.c +++ b/dlls/mapi32/imalloc.c @@ -114,7 +114,7 @@ static ULONG WINAPI IMAPIMalloc_fnRelease(LPMALLOC iface) */ static LPVOID WINAPI IMAPIMalloc_fnAlloc(LPMALLOC iface, SIZE_T cb) { - TRACE("(%p)->(%ld)\n", iface, cb); + TRACE("(%p)->(%Id)\n", iface, cb);
return LocalAlloc(LMEM_FIXED, cb); } @@ -124,7 +124,7 @@ static LPVOID WINAPI IMAPIMalloc_fnAlloc(LPMALLOC iface, SIZE_T cb) */ static LPVOID WINAPI IMAPIMalloc_fnRealloc(LPMALLOC iface, LPVOID pv, SIZE_T cb) { - TRACE("(%p)->(%p, %ld)\n", iface, pv, cb); + TRACE("(%p)->(%p, %Id)\n", iface, pv, cb);
if (!pv) return LocalAlloc(LMEM_FIXED, cb); diff --git a/dlls/mapi32/mapi32_main.c b/dlls/mapi32/mapi32_main.c index 0dcc811c24..ac83062679 100644 --- a/dlls/mapi32/mapi32_main.c +++ b/dlls/mapi32/mapi32_main.c @@ -129,7 +129,7 @@ HRESULT WINAPI MAPIInitialize(LPVOID init) ULONG WINAPI MAPILogon(ULONG_PTR uiparam, LPSTR profile, LPSTR password, FLAGS flags, ULONG reserved, LPLHANDLE session) { - TRACE("(0x%08lx %s %p 0x%08x 0x%08x %p)\n", uiparam, + TRACE("(0x%08Ix %s %p 0x%08x 0x%08x %p)\n", uiparam, debugstr_a(profile), password, flags, reserved, session);
if (mapiFunctions.MAPILogon) @@ -149,7 +149,7 @@ ULONG WINAPI MAPILogon(ULONG_PTR uiparam, LPSTR profile, LPSTR password, ULONG WINAPI MAPILogoff(LHANDLE session, ULONG_PTR uiparam, FLAGS flags, ULONG reserved ) { - TRACE("(0x%08lx 0x%08lx 0x%08x 0x%08x)\n", session, + TRACE("(0x%08Ix 0x%08Ix 0x%08x 0x%08x)\n", session, uiparam, flags, reserved);
if (mapiFunctions.MAPILogoff) @@ -167,7 +167,7 @@ ULONG WINAPI MAPILogoff(LHANDLE session, ULONG_PTR uiparam, FLAGS flags, HRESULT WINAPI MAPILogonEx(ULONG_PTR uiparam, LPWSTR profile, LPWSTR password, ULONG flags, LPMAPISESSION *session) { - TRACE("(0x%08lx %s %p 0x%08x %p)\n", uiparam, + TRACE("(0x%08Ix %s %p 0x%08x %p)\n", uiparam, debugstr_w(profile), password, flags, session);
if (mapiFunctions.MAPILogonEx)