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 <a...@rfc2549.org> --- src/openvpn/init.c | 3 ++- src/openvpn/options.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/openvpn/init.c b/src/openvpn/init.c index 0ad2c7e09..0d50d9189 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -1839,7 +1839,8 @@ do_open_tun(struct context *c, int *error_flags) #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 */ diff --git a/src/openvpn/options.c b/src/openvpn/options.c index c1ddb0262..679528187 100644 --- a/src/openvpn/options.c +++ b/src/openvpn/options.c @@ -7882,7 +7882,7 @@ add_option(struct options *options, #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)) { -- 2.37.1 (Apple Git-137.1) _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel