warning: silence the compiler
authorDaniel Stenberg <daniel@haxx.se>
Tue, 10 Aug 2010 22:06:20 +0000 (00:06 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 10 Aug 2010 22:06:20 +0000 (00:06 +0200)
warning: conversion to 'long int' from 'time_t' may alter its value

... on win64 when time_t is 64bit and long is 32bit.

lib/tftp.c

index a1c0e259c1add77f7ac7a612e29b2e4691178474..38b77fa4263feedbb00b5f41753ddb3e9b85ad82 100644 (file)
@@ -1171,17 +1171,18 @@ static long tftp_state_timeout(struct connectdata *conn, tftp_event_t *event)
                  (long)current, (long)state->max_time));
     state->error = TFTP_ERR_TIMEOUT;
     state->state = TFTP_STATE_FIN;
-    return(0);
+    return 0;
   }
   else if (current > state->rx_time+state->retry_time) {
     if (event)
       *event = TFTP_EVENT_TIMEOUT;
     time(&state->rx_time); /* update even though we received nothing */
-    return(state->max_time-current);
-  }
-  else {
-    return(state->max_time-current);
   }
+
+  /* there's a typecast below here since 'time_t' may in fact be larger than
+     'long', but we estimate that a 'long' will still be able to hold number
+     of seconds even if "only" 32 bit */
+  return (long) state->max_time-current;
 }