The current casting triggers a warning on 32bit:
init.c:1842:66: error: cast from pointer to integer of different size
[-Werror=pointer-to-int-cast]
Use the proper printf format specifier for printing a pointer avoiding
the cast alltogether.
In options.c use a cast to intptr_t before converting to a handle to
avoid having to ifdef atoll/atol for 32/64 bit.
Signed-off-by: Arne Schwabe <arne@rfc2549.org>
Acked-by: Lev Stipakov <lstipakov@gmail.com>
Message-Id: <
20230214134323.
1033590-1-arne@rfc2549.org>
URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26255.html
Signed-off-by: Gert Doering <gert@greenie.muc.de>
#ifdef _WIN32
/* store (hide) interactive service handle in tuntap_options */
c->c1.tuntap->options.msg_channel = c->options.msg_channel;
- msg(D_ROUTE, "interactive service msg_channel=%" PRIu64, (unsigned long long) c->options.msg_channel);
+ msg(D_ROUTE, "interactive service msg_channel=%" PRIuPTR,
+ (intptr_t) c->options.msg_channel);
#endif
/* allocate route list structure */
#ifdef _WIN32
VERIFY_PERMISSION(OPT_P_GENERAL);
HANDLE process = GetCurrentProcess();
- HANDLE handle = (HANDLE) atoll(p[1]);
+ HANDLE handle = (HANDLE) ((intptr_t) atoll(p[1]));
if (!DuplicateHandle(process, handle, process, &options->msg_channel, 0,
FALSE, DUPLICATE_CLOSE_SOURCE | DUPLICATE_SAME_ACCESS))
{