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.
This commit is contained in:
parent
5cf0af002c
commit
990f50a73b
|
@ -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 */
|
/* build an array of handles for non-sockets */
|
||||||
for (i = 0; i < max_fd; i++) {
|
for (i = 0; i < max_fd; i++) {
|
||||||
if (SAFE_FD_ISSET(i, rfds) || SAFE_FD_ISSET(i, wfds) || SAFE_FD_ISSET(i, efds)) {
|
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;
|
handles[n_handles] = (HANDLE)handle;
|
||||||
if (handles[n_handles] == INVALID_HANDLE_VALUE) {
|
if (handles[n_handles] == INVALID_HANDLE_VALUE) {
|
||||||
/* socket */
|
/* 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 (WAIT_OBJECT_0 == WaitForSingleObject(handles[i], 0)) {
|
||||||
if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) {
|
if (SAFE_FD_ISSET(handle_slot_to_fd[i], rfds)) {
|
||||||
DWORD dwBytes;
|
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))
|
if (PeekNamedPipe((HANDLE)handle, NULL, 0, NULL, &dwBytes, NULL))
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue