mirror of
https://github.com/OpenVPN/openvpn.git
synced 2024-09-20 12:02:28 +02:00
windows: use appropriate and portable format specifier for 64bit pointer
To print a 64bit poiner, fprintf() must be provided with the appropriate format specifier. The most portable in this case is PRIx64, which is redefined accordingly on each platform. It comes from inttypes.h and it's the recommended way to print a 64bit long hex value. Fixes various warnings of this type: event.c: In function ‘we_ctl’: event.c:235:24: warning: 'I' flag used with ‘%x’ gnu_printf format [-Wformat=] 235 | dmsg(D_EVENT_WAIT, "WE_CTL n=%d ev=%p rwflags=0x%04x arg=" ptr_format, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ error.h:151:68: note: in definition of macro ‘dmsg’ 151 | #define dmsg(flags, ...) do { if (msg_test(flags)) {x_msg((flags), __VA_ARGS__);} EXIT_FATAL(flags); } while (false) | ^~~~~~~~~~~ event.c:235:24: warning: format ‘%x’ expects argument of type ‘unsigned int’, but argument 6 has type ‘long long unsigned int’ [-Wformat=] 235 | dmsg(D_EVENT_WAIT, "WE_CTL n=%d ev=%p rwflags=0x%04x arg=" ptr_format, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ...... 239 | (ptr_type)arg); | ~~~~~~~~~~~~~ | | | long long unsigned int Signed-off-by: Antonio Quartulli <a@unstable.cc> Acked-by: Arne Schwabe <arne@rfc2549.org> Message-Id: <20210501130640.9330-2-a@unstable.cc> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg22268.html Signed-off-by: Gert Doering <gert@greenie.muc.de>
This commit is contained in:
parent
c291291204
commit
396c4e4903
@ -44,7 +44,7 @@ typedef int interval_t;
|
||||
* Printf formats for special types
|
||||
*/
|
||||
#ifdef _WIN64
|
||||
#define ptr_format "0x%I64x"
|
||||
#define ptr_format "0x%016" PRIx64
|
||||
#else
|
||||
#define ptr_format "0x%08lx"
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user