diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tftp.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/tftp.c b/lib/tftp.c index a1c0e259c..38b77fa42 100644 --- a/lib/tftp.c +++ b/lib/tftp.c @@ -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; } |