Skip to content

Commit

Permalink
lib: fix compiler warnings after de4de4e
Browse files Browse the repository at this point in the history
Visual C++ now complains about implicitly casting time_t (64-bit) to
long (32-bit). Fix this by changing some variables from long to time_t,
or explicitly casting to long where the public interface would be
affected.

Closes curl#1131
  • Loading branch information
MarcelRaad authored and bagder committed Nov 18, 2016
1 parent 0b8d682 commit 21aa32d
Show file tree
Hide file tree
Showing 18 changed files with 54 additions and 54 deletions.
4 changes: 2 additions & 2 deletions lib/asyn-thread.c
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ struct thread_sync_data {
struct thread_data {
curl_thread_t thread_hnd;
unsigned int poll_interval;
long interval_end;
time_t interval_end;
struct thread_sync_data tsd;
};

Expand Down Expand Up @@ -525,7 +525,7 @@ CURLcode Curl_resolver_is_resolved(struct connectdata *conn,
}
else {
/* poll for name lookup done with exponential backoff up to 250ms */
long elapsed = Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle);
time_t elapsed = Curl_tvdiff(Curl_tvnow(), data->progress.t_startsingle);
if(elapsed < 0)
elapsed = 0;

Expand Down
12 changes: 6 additions & 6 deletions lib/connect.c
Original file line number Diff line number Diff line change
Expand Up @@ -179,12 +179,12 @@ singleipconnect(struct connectdata *conn,
*
* @unittest: 1303
*/
long Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp,
bool duringconnect)
time_t Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp,
bool duringconnect)
{
int timeout_set = 0;
long timeout_ms = duringconnect?DEFAULT_CONNECT_TIMEOUT:0;
time_t timeout_ms = duringconnect?DEFAULT_CONNECT_TIMEOUT:0;
struct timeval now;

/* if a timeout is set, use the most restrictive one */
Expand Down Expand Up @@ -722,7 +722,7 @@ CURLcode Curl_is_connected(struct connectdata *conn,
{
struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK;
long allow;
time_t allow;
int error = 0;
struct timeval now;
int rc;
Expand Down Expand Up @@ -1153,7 +1153,7 @@ CURLcode Curl_connecthost(struct connectdata *conn, /* context */
struct timeval before = Curl_tvnow();
CURLcode result = CURLE_COULDNT_CONNECT;

long timeout_ms = Curl_timeleft(data, &before, TRUE);
time_t timeout_ms = Curl_timeleft(data, &before, TRUE);

if(timeout_ms < 0) {
/* a precaution, no need to continue if time already is up */
Expand Down
6 changes: 3 additions & 3 deletions lib/connect.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ CURLcode Curl_connecthost(struct connectdata *conn,

/* generic function that returns how much time there's left to run, according
to the timeouts set */
long Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp,
bool duringconnect);
time_t Curl_timeleft(struct Curl_easy *data,
struct timeval *nowp,
bool duringconnect);

#define DEFAULT_CONNECT_TIMEOUT 300000 /* milliseconds == five minutes */
#define HAPPY_EYEBALLS_TIMEOUT 200 /* milliseconds to wait between
Expand Down
16 changes: 8 additions & 8 deletions lib/ftp.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,10 +384,10 @@ static CURLcode AcceptServerConnect(struct connectdata *conn)
* Curl_pgrsTime(..., TIMER_STARTACCEPT);
*
*/
static long ftp_timeleft_accept(struct Curl_easy *data)
static time_t ftp_timeleft_accept(struct Curl_easy *data)
{
long timeout_ms = DEFAULT_ACCEPT_TIMEOUT;
long other;
time_t timeout_ms = DEFAULT_ACCEPT_TIMEOUT;
time_t other;
struct timeval now;

if(data->set.accepttimeout > 0)
Expand Down Expand Up @@ -430,7 +430,7 @@ static CURLcode ReceivedServerConnect(struct connectdata *conn, bool *received)
struct ftp_conn *ftpc = &conn->proto.ftpc;
struct pingpong *pp = &ftpc->pp;
int result;
long timeout_ms;
time_t timeout_ms;
ssize_t nread;
int ftpcode;

Expand Down Expand Up @@ -547,7 +547,7 @@ static CURLcode InitiateTransfer(struct connectdata *conn)
static CURLcode AllowServerConnect(struct connectdata *conn, bool *connected)
{
struct Curl_easy *data = conn->data;
long timeout_ms;
time_t timeout_ms;
CURLcode result = CURLE_OK;

*connected = FALSE;
Expand Down Expand Up @@ -687,8 +687,8 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */
* line in a response or continue reading. */

curl_socket_t sockfd = conn->sock[FIRSTSOCKET];
long timeout; /* timeout in milliseconds */
long interval_ms;
time_t timeout; /* timeout in milliseconds */
time_t interval_ms;
struct Curl_easy *data = conn->data;
CURLcode result = CURLE_OK;
struct ftp_conn *ftpc = &conn->proto.ftpc;
Expand Down Expand Up @@ -3250,7 +3250,7 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
ssize_t nread;
int ftpcode;
CURLcode result = CURLE_OK;
char *path;
char *path = NULL;
const char *path_to_use = data->state.path;

if(!ftp)
Expand Down
2 changes: 1 addition & 1 deletion lib/hostip.c
Original file line number Diff line number Diff line change
Expand Up @@ -568,7 +568,7 @@ int Curl_resolv_timeout(struct connectdata *conn,
const char *hostname,
int port,
struct Curl_dns_entry **entry,
long timeoutms)
time_t timeoutms)
{
#ifdef USE_ALARM_TIMEOUT
#ifdef HAVE_SIGACTION
Expand Down
2 changes: 1 addition & 1 deletion lib/hostip.h
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ int Curl_resolv(struct connectdata *conn, const char *hostname,
int port, struct Curl_dns_entry **dnsentry);
int Curl_resolv_timeout(struct connectdata *conn, const char *hostname,
int port, struct Curl_dns_entry **dnsentry,
long timeoutms);
time_t timeoutms);

#ifdef CURLRES_IPV6
/*
Expand Down
2 changes: 1 addition & 1 deletion lib/http_proxy.c
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ CURLcode Curl_proxyCONNECT(struct connectdata *conn,
curl_off_t cl=0;
bool closeConnection = FALSE;
bool chunked_encoding = FALSE;
long check;
time_t check;

#define SELECT_OK 0
#define SELECT_ERROR 1
Expand Down
20 changes: 10 additions & 10 deletions lib/multi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1300,7 +1300,7 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
CURLMcode rc;
CURLcode result = CURLE_OK;
struct SingleRequest *k;
long timeout_ms;
time_t timeout_ms;
int control;

if(!GOOD_EASY_HANDLE(data))
Expand Down Expand Up @@ -2486,7 +2486,7 @@ static CURLMcode add_next_timeout(struct timeval now,
timeout in *tv */
for(e = list->head; e;) {
struct curl_llist_element *n = e->next;
long diff = curlx_tvdiff(*(struct timeval *)e->ptr, now);
time_t diff = curlx_tvdiff(*(struct timeval *)e->ptr, now);
if(diff <= 0)
/* remove outdated entry */
Curl_llist_remove(list, e, NULL);
Expand Down Expand Up @@ -2764,7 +2764,7 @@ static CURLMcode multi_timeout(struct Curl_multi *multi,

if(Curl_splaycomparekeys(multi->timetree->key, now) > 0) {
/* some time left before expiration */
*timeout_ms = curlx_tvdiff(multi->timetree->key, now);
*timeout_ms = (long)curlx_tvdiff(multi->timetree->key, now);
if(!*timeout_ms)
/*
* Since we only provide millisecond resolution on the returned value
Expand Down Expand Up @@ -2871,7 +2871,7 @@ multi_addtimeout(struct curl_llist *timeoutlist,
/* find the correct spot in the list */
for(e = timeoutlist->head; e; e = e->next) {
struct timeval *checktime = e->ptr;
long diff = curlx_tvdiff(*checktime, *timedup);
time_t diff = curlx_tvdiff(*checktime, *timedup);
if(diff > 0)
break;
prev = e;
Expand All @@ -2898,7 +2898,7 @@ multi_addtimeout(struct curl_llist *timeoutlist,
* The timeout will be added to a queue of timeouts if it defines a moment in
* time that is later than the current head of queue.
*/
void Curl_expire(struct Curl_easy *data, long milli)
void Curl_expire(struct Curl_easy *data, time_t milli)
{
struct Curl_multi *multi = data->multi;
struct timeval *nowp = &data->state.expiretime;
Expand All @@ -2911,7 +2911,7 @@ void Curl_expire(struct Curl_easy *data, long milli)
return;

set = Curl_tvnow();
set.tv_sec += milli/1000;
set.tv_sec += (long)(milli/1000);
set.tv_usec += (milli%1000)*1000;

if(set.tv_usec >= 1000000) {
Expand All @@ -2923,7 +2923,7 @@ void Curl_expire(struct Curl_easy *data, long milli)
/* This means that the struct is added as a node in the splay tree.
Compare if the new time is earlier, and only remove-old/add-new if it
is. */
long diff = curlx_tvdiff(set, *nowp);
time_t diff = curlx_tvdiff(set, *nowp);
if(diff > 0) {
/* the new expire time was later so just add it to the queue
and get out */
Expand Down Expand Up @@ -2961,14 +2961,14 @@ void Curl_expire(struct Curl_easy *data, long milli)
* time-out period to expire.
*
*/
void Curl_expire_latest(struct Curl_easy *data, long milli)
void Curl_expire_latest(struct Curl_easy *data, time_t milli)
{
struct timeval *expire = &data->state.expiretime;

struct timeval set;

set = Curl_tvnow();
set.tv_sec += milli / 1000;
set.tv_sec += (long)(milli / 1000);
set.tv_usec += (milli % 1000) * 1000;

if(set.tv_usec >= 1000000) {
Expand All @@ -2980,7 +2980,7 @@ void Curl_expire_latest(struct Curl_easy *data, long milli)
/* This means that the struct is added as a node in the splay tree.
Compare if the new time is earlier, and only remove-old/add-new if it
is. */
long diff = curlx_tvdiff(set, *expire);
time_t diff = curlx_tvdiff(set, *expire);
if(diff > 0)
/* the new expire time was later than the top time, so just skip this */
return;
Expand Down
4 changes: 2 additions & 2 deletions lib/multiif.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@
/*
* Prototypes for library-wide functions provided by multi.c
*/
void Curl_expire(struct Curl_easy *data, long milli);
void Curl_expire(struct Curl_easy *data, time_t milli);
void Curl_expire_clear(struct Curl_easy *data);
void Curl_expire_latest(struct Curl_easy *data, long milli);
void Curl_expire_latest(struct Curl_easy *data, time_t milli);
bool Curl_pipeline_wanted(const struct Curl_multi* multi, int bits);
void Curl_multi_handlePipeBreak(struct Curl_easy *data);

Expand Down
10 changes: 5 additions & 5 deletions lib/pingpong.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@

/* Returns timeout in ms. 0 or negative number means the timeout has already
triggered */
long Curl_pp_state_timeout(struct pingpong *pp)
time_t Curl_pp_state_timeout(struct pingpong *pp)
{
struct connectdata *conn = pp->conn;
struct Curl_easy *data=conn->data;
long timeout_ms; /* in milliseconds */
long timeout2_ms; /* in milliseconds */
time_t timeout_ms; /* in milliseconds */
time_t timeout2_ms; /* in milliseconds */
long response_time= (data->set.server_response_timeout)?
data->set.server_response_timeout: pp->response_time;

Expand Down Expand Up @@ -83,8 +83,8 @@ CURLcode Curl_pp_statemach(struct pingpong *pp, bool block)
struct connectdata *conn = pp->conn;
curl_socket_t sock = conn->sock[FIRSTSOCKET];
int rc;
long interval_ms;
long timeout_ms = Curl_pp_state_timeout(pp);
time_t interval_ms;
time_t timeout_ms = Curl_pp_state_timeout(pp);
struct Curl_easy *data=conn->data;
CURLcode result = CURLE_OK;

Expand Down
2 changes: 1 addition & 1 deletion lib/pingpong.h
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ void Curl_pp_init(struct pingpong *pp);

/* Returns timeout in ms. 0 or negative number means the timeout has already
triggered */
long Curl_pp_state_timeout(struct pingpong *pp);
time_t Curl_pp_state_timeout(struct pingpong *pp);


/***********************************************************************
Expand Down
2 changes: 1 addition & 1 deletion lib/select.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ int Curl_wait_ms(int timeout_ms)
int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read from */
curl_socket_t readfd1,
curl_socket_t writefd, /* socket to write to */
long timeout_ms) /* milliseconds to wait */
time_t timeout_ms) /* milliseconds to wait */
{
#ifdef HAVE_POLL_FINE
struct pollfd pfd[3];
Expand Down
2 changes: 1 addition & 1 deletion lib/select.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ struct pollfd

int Curl_socket_check(curl_socket_t readfd, curl_socket_t readfd2,
curl_socket_t writefd,
long timeout_ms);
time_t timeout_ms);

#define SOCKET_READABLE(x,z) \
Curl_socket_check(x, CURL_SOCKET_BAD, CURL_SOCKET_BAD, z)
Expand Down
4 changes: 2 additions & 2 deletions lib/socks.c
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ int Curl_blockread_all(struct connectdata *conn, /* connection data */
ssize_t nread;
ssize_t allread = 0;
int result;
long timeleft;
time_t timeleft;
*n = 0;
for(;;) {
timeleft = Curl_timeleft(conn->data, NULL, TRUE);
Expand Down Expand Up @@ -376,7 +376,7 @@ CURLcode Curl_SOCKS5(const char *proxy_name,
CURLcode code;
curl_socket_t sock = conn->sock[sockindex];
struct Curl_easy *data = conn->data;
long timeout;
time_t timeout;
bool socks5_resolve_local = (conn->proxytype == CURLPROXY_SOCKS5)?TRUE:FALSE;
const size_t hostname_len = strlen(hostname);
ssize_t len = 0;
Expand Down
2 changes: 1 addition & 1 deletion lib/tftp.c
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ const struct Curl_handler Curl_handler_tftp = {
static CURLcode tftp_set_timeouts(tftp_state_data_t *state)
{
time_t maxtime, timeout;
long timeout_ms;
time_t timeout_ms;
bool start = (state->state == TFTP_STATE_START) ? TRUE : FALSE;

time(&state->start_time);
Expand Down
2 changes: 1 addition & 1 deletion lib/transfer.c
Original file line number Diff line number Diff line change
Expand Up @@ -1137,7 +1137,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
*/

long ms = Curl_tvdiff(k->now, k->start100);
time_t ms = Curl_tvdiff(k->now, k->start100);
if(ms >= data->set.expect_100_timeout) {
/* we've waited long enough, continue anyway */
k->exp100 = EXP100_SEND_DATA;
Expand Down
12 changes: 6 additions & 6 deletions lib/url.c
Original file line number Diff line number Diff line change
Expand Up @@ -3021,8 +3021,8 @@ Curl_oldest_idle_connection(struct Curl_easy *data)
struct curl_hash_iterator iter;
struct curl_llist_element *curr;
struct curl_hash_element *he;
long highscore=-1;
long score;
time_t highscore=-1;
time_t score;
struct timeval now;
struct connectdata *conn_candidate = NULL;
struct connectbundle *bundle;
Expand Down Expand Up @@ -3071,8 +3071,8 @@ find_oldest_idle_connection_in_bundle(struct Curl_easy *data,
struct connectbundle *bundle)
{
struct curl_llist_element *curr;
long highscore=-1;
long score;
time_t highscore=-1;
time_t score;
struct timeval now;
struct connectdata *conn_candidate = NULL;
struct connectdata *conn;
Expand Down Expand Up @@ -3154,7 +3154,7 @@ static int call_disconnect_if_dead(struct connectdata *conn,
static void prune_dead_connections(struct Curl_easy *data)
{
struct timeval now = Curl_tvnow();
long elapsed = Curl_tvdiff(now, data->state.conn_cache->last_cleanup);
time_t elapsed = Curl_tvdiff(now, data->state.conn_cache->last_cleanup);

if(elapsed >= 1000L) {
Curl_conncache_foreach(data->state.conn_cache, data,
Expand Down Expand Up @@ -5537,7 +5537,7 @@ static CURLcode resolve_server(struct Curl_easy *data,
bool *async)
{
CURLcode result=CURLE_OK;
long timeout_ms = Curl_timeleft(data, NULL, TRUE);
time_t timeout_ms = Curl_timeleft(data, NULL, TRUE);

/*************************************************************
* Resolve the name of the server or proxy
Expand Down
4 changes: 2 additions & 2 deletions lib/urldata.h
Original file line number Diff line number Diff line change
Expand Up @@ -962,8 +962,8 @@ struct connectdata {
struct timeval connecttime;
/* The two fields below get set in Curl_connecthost */
int num_addr; /* number of addresses to try to connect to */
long timeoutms_per_addr; /* how long time in milliseconds to spend on
trying to connect to each IP address */
time_t timeoutms_per_addr; /* how long time in milliseconds to spend on
trying to connect to each IP address */

const struct Curl_handler *handler; /* Connection's protocol handler */
const struct Curl_handler *given; /* The protocol first given */
Expand Down

0 comments on commit 21aa32d

Please sign in to comment.