Since it will spit out bogus warnings in the case we use Microsoft-specific extensions.
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- include/wine/debug.h | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/include/wine/debug.h b/include/wine/debug.h index 1c312e9322..81c32e1816 100644 --- a/include/wine/debug.h +++ b/include/wine/debug.h @@ -92,7 +92,11 @@ struct __wine_debug_channel #define __WINE_DBG_LOG(args...) \ wine_dbg_log( __dbcl, __dbch, __FUNCTION__, args); } } while(0)
+#if !defined(__WINE_USE_MSVCRT) || defined(__MINGW32__) #define __WINE_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args))) +#else +#define __WINE_PRINTF_ATTR(fmt,args) +#endif
#ifdef WINE_NO_TRACE_MSGS
Signed-off-by: Zebediah Figura z.figura12@gmail.com --- 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)
December 4, 2019 12:28 PM, "Zebediah Figura" z.figura12@gmail.com wrote:
diff --git a/include/wine/debug.h b/include/wine/debug.h index 1c312e9322..81c32e1816 100644 --- a/include/wine/debug.h +++ b/include/wine/debug.h @@ -92,7 +92,11 @@ struct __wine_debug_channel #define __WINE_DBG_LOG(args...) \ wine_dbg_log( __dbcl, __dbch, __FUNCTION__, args); } } while(0)
+#if !defined(__WINE_USE_MSVCRT) || defined(__MINGW32__) #define __WINE_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args))) +#else +#define __WINE_PRINTF_ATTR(fmt,args) +#endif
Consider using '__attribute__((format(ms_printf)))' instead. That shouldn't warn on %I, but would still give us the benefits of GCC/Clang's warning. Note that Clang does not yet support that form. I have a patch to fix that, but I need to get it upstream.
#ifdef WINE_NO_TRACE_MSGS
Chip
On 12/4/19 12:36 PM, Chip Davis wrote:
December 4, 2019 12:28 PM, "Zebediah Figura" z.figura12@gmail.com wrote:
diff --git a/include/wine/debug.h b/include/wine/debug.h index 1c312e9322..81c32e1816 100644 --- a/include/wine/debug.h +++ b/include/wine/debug.h @@ -92,7 +92,11 @@ struct __wine_debug_channel #define __WINE_DBG_LOG(args...) \ wine_dbg_log( __dbcl, __dbch, __FUNCTION__, args); } } while(0)
+#if !defined(__WINE_USE_MSVCRT) || defined(__MINGW32__) #define __WINE_PRINTF_ATTR(fmt,args) __attribute__((format (printf,fmt,args))) +#else +#define __WINE_PRINTF_ATTR(fmt,args) +#endif
Consider using '__attribute__((format(ms_printf)))' instead. That shouldn't warn on %I, but would still give us the benefits of GCC/Clang's warning. Note that Clang does not yet support that form. I have a patch to fix that, but I need to get it upstream.
At least on gcc 9.2 ms_printf is only recognized for mingw targets. The documentation implies this as well: "On MinGW targets, ms_printf, ms_scanf, and ms_strftime are also present." [1]
[1] https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Fu...
#ifdef WINE_NO_TRACE_MSGS
Chip