aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/select.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/lib/select.c b/lib/select.c
index 08468216f..ca0e24fb1 100644
--- a/lib/select.c
+++ b/lib/select.c
@@ -86,16 +86,12 @@ int Curl_wait_ms(timediff_t timeout_ms)
}
#if defined(MSDOS)
delay(timeout_ms);
-#elif defined(USE_WINSOCK)
+#elif defined(WIN32)
/* prevent overflow, timeout_ms is typecast to ULONG/DWORD. */
-#if TIMEDIFF_T_MAX > ULONG_MAX
- if(timeout_ms > ULONG_MAX)
-#if ULONG_MAX < INFINITE
- timeout_ms = ULONG_MAX;
-#else
+#if TIMEDIFF_T_MAX >= ULONG_MAX
+ if(timeout_ms >= ULONG_MAX)
timeout_ms = ULONG_MAX-1;
- /* avoid waiting forever */
-#endif
+ /* don't use ULONG_MAX, because that is equal to INFINITE */
#endif
Sleep((ULONG)timeout_ms);
#else
@@ -119,14 +115,6 @@ int Curl_wait_ms(timediff_t timeout_ms)
#endif
pending_tv.tv_sec = (time_t)tv_sec;
pending_tv.tv_usec = (suseconds_t)tv_usec;
-#elif defined(WIN32) /* maybe also others in the future */
-#if TIMEDIFF_T_MAX > LONG_MAX
- /* tv_sec overflow check on Windows there we know it is long */
- if(tv_sec > LONG_MAX)
- tv_sec = LONG_MAX;
-#endif
- pending_tv.tv_sec = (long)tv_sec;
- pending_tv.tv_usec = (long)tv_usec;
#else
#if TIMEDIFF_T_MAX > INT_MAX
/* tv_sec overflow check in case time_t is signed */