From 990f50a73bca9f9fe4f261161b25fb8fb4432e52 Mon Sep 17 00:00:00 2001
From: Redirect 'Slash' NIL <redirect.slash.nil@gmail.com>
Date: Sat, 17 Oct 2009 22:18:38 -0700
Subject: [PATCH] safer conversion to HANDLER on MinGW-W64

Assign to "intptr_t", which on some versions of MS-Windows
will widen the variable; then cast to HANDLE.
---
 src/helper/replacements.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/helper/replacements.c b/src/helper/replacements.c
index 77e4ee7a3..ef20e7710 100644
--- a/src/helper/replacements.c
+++ b/src/helper/replacements.c
@@ -169,7 +169,7 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time
 	/* build an array of handles for non-sockets */
 	for (i = 0; i < max_fd; i++) {
 		if (SAFE_FD_ISSET(i, rfds) || SAFE_FD_ISSET(i, wfds) || SAFE_FD_ISSET(i, efds)) {
-			long handle = _get_osfhandle(i);
+			intptr_t handle = (intptr_t) _get_osfhandle(i);
 			handles[n_handles] = (HANDLE)handle;
 			if (handles[n_handles] == INVALID_HANDLE_VALUE) {
 				/* socket */
@@ -244,7 +244,7 @@ int win_select(int max_fd, fd_set *rfds, fd_set *wfds, fd_set *efds, struct time
 					if (WAIT_OBJECT_0 == WaitForSingleObject(handles[i], 0)) {
 						if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) {
 							DWORD dwBytes;
-							long handle = _get_osfhandle(handle_slot_to_fd[i]);
+							intptr_t handle = (intptr_t) _get_osfhandle(handle_slot_to_fd[i]);
 
 							if (PeekNamedPipe((HANDLE)handle, NULL, 0, NULL, &dwBytes, NULL))
 							{
-- 
GitLab