lib: tidy up types and casts

Cherry-picked from #13489
Closes #13862
This commit is contained in:
Viktor Szakats 2024-06-02 22:30:52 +02:00
parent ad837e9df8
commit 72abf7c13a
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
49 changed files with 199 additions and 162 deletions

View File

@ -270,7 +270,7 @@ static CURLcode altsvc_out(struct altsvc *as, FILE *fp)
"%s %s%s%s %u " "%s %s%s%s %u "
"\"%d%02d%02d " "\"%d%02d%02d "
"%02d:%02d:%02d\" " "%02d:%02d:%02d\" "
"%u %d\n", "%u %u\n",
Curl_alpnid2str(as->src.alpnid), Curl_alpnid2str(as->src.alpnid),
src6_pre, as->src.host, src6_post, src6_pre, as->src.host, src6_post,
as->src.port, as->src.port,
@ -462,7 +462,7 @@ static time_t altsvc_debugtime(void *unused)
char *timestr = getenv("CURL_TIME"); char *timestr = getenv("CURL_TIME");
(void)unused; (void)unused;
if(timestr) { if(timestr) {
unsigned long val = strtol(timestr, NULL, 10); long val = strtol(timestr, NULL, 10);
return (time_t)val; return (time_t)val;
} }
return time(NULL); return time(NULL);
@ -624,7 +624,7 @@ CURLcode Curl_altsvc_parse(struct Curl_easy *data,
num = strtoul(value_ptr, &end_ptr, 10); num = strtoul(value_ptr, &end_ptr, 10);
if((end_ptr != value_ptr) && (num < ULONG_MAX)) { if((end_ptr != value_ptr) && (num < ULONG_MAX)) {
if(strcasecompare("ma", option)) if(strcasecompare("ma", option))
maxage = num; maxage = (time_t)num;
else if(strcasecompare("persist", option) && (num == 1)) else if(strcasecompare("persist", option) && (num == 1))
persist = TRUE; persist = TRUE;
} }
@ -696,7 +696,7 @@ bool Curl_altsvc_lookup(struct altsvcinfo *asi,
if((as->src.alpnid == srcalpnid) && if((as->src.alpnid == srcalpnid) &&
hostcompare(srchost, as->src.host) && hostcompare(srchost, as->src.host) &&
(as->src.port == srcport) && (as->src.port == srcport) &&
(versions & as->dst.alpnid)) { (versions & (int)as->dst.alpnid)) {
/* match */ /* match */
*dstentry = as; *dstentry = as;
return TRUE; return TRUE;

View File

@ -47,7 +47,7 @@ struct altsvc {
struct althost dst; struct althost dst;
time_t expires; time_t expires;
bool persist; bool persist;
int prio; unsigned int prio;
struct Curl_llist_element node; struct Curl_llist_element node;
}; };

View File

@ -350,7 +350,7 @@ static int waitperform(struct Curl_easy *data, timediff_t timeout_ms)
} }
if(num) { if(num) {
nfds = Curl_poll(pfd, num, timeout_ms); nfds = Curl_poll(pfd, (unsigned int)num, timeout_ms);
if(nfds < 0) if(nfds < 0)
return -1; return -1;
} }

View File

@ -697,7 +697,7 @@ static bool init_resolve_thread(struct Curl_easy *data,
NULL, &td->tsd.w8.overlapped, NULL, &td->tsd.w8.overlapped,
&query_complete, &td->tsd.w8.cancel_ev); &query_complete, &td->tsd.w8.cancel_ev);
if(err != WSA_IO_PENDING) if(err != WSA_IO_PENDING)
query_complete(err, 0, &td->tsd.w8.overlapped); query_complete((DWORD)err, 0, &td->tsd.w8.overlapped);
return TRUE; return TRUE;
} }
} }

View File

@ -1418,7 +1418,7 @@ static ssize_t cf_h2_proxy_send(struct Curl_cfilter *cf,
/* Unable to send all data, due to connection blocked or H2 window /* Unable to send all data, due to connection blocked or H2 window
* exhaustion. Data is left in our stream buffer, or nghttp2's internal * exhaustion. Data is left in our stream buffer, or nghttp2's internal
* frame buffer or our network out buffer. */ * frame buffer or our network out buffer. */
size_t rwin = nghttp2_session_get_stream_remote_window_size( size_t rwin = (size_t)nghttp2_session_get_stream_remote_window_size(
ctx->h2, ctx->tunnel.stream_id); ctx->h2, ctx->tunnel.stream_id);
if(rwin == 0) { if(rwin == 0) {
/* H2 flow window exhaustion. /* H2 flow window exhaustion.

View File

@ -183,10 +183,10 @@ tcpkeepalive(struct Curl_easy *data,
vals.onoff = 1; vals.onoff = 1;
optval = curlx_sltosi(data->set.tcp_keepidle); optval = curlx_sltosi(data->set.tcp_keepidle);
KEEPALIVE_FACTOR(optval); KEEPALIVE_FACTOR(optval);
vals.keepalivetime = optval; vals.keepalivetime = (u_long)optval;
optval = curlx_sltosi(data->set.tcp_keepintvl); optval = curlx_sltosi(data->set.tcp_keepintvl);
KEEPALIVE_FACTOR(optval); KEEPALIVE_FACTOR(optval);
vals.keepaliveinterval = optval; vals.keepaliveinterval = (u_long)optval;
if(WSAIoctl(sockfd, SIO_KEEPALIVE_VALS, (LPVOID) &vals, sizeof(vals), if(WSAIoctl(sockfd, SIO_KEEPALIVE_VALS, (LPVOID) &vals, sizeof(vals),
NULL, 0, &dummy, NULL, NULL) != 0) { NULL, 0, &dummy, NULL, NULL) != 0) {
infof(data, "Failed to set SIO_KEEPALIVE_VALS on fd " infof(data, "Failed to set SIO_KEEPALIVE_VALS on fd "
@ -288,7 +288,7 @@ void Curl_sock_assign_addr(struct Curl_sockaddr_ex *dest,
dest->protocol = IPPROTO_UDP; dest->protocol = IPPROTO_UDP;
break; break;
} }
dest->addrlen = ai->ai_addrlen; dest->addrlen = (unsigned int)ai->ai_addrlen;
if(dest->addrlen > sizeof(struct Curl_sockaddr_storage)) if(dest->addrlen > sizeof(struct Curl_sockaddr_storage))
dest->addrlen = sizeof(struct Curl_sockaddr_storage); dest->addrlen = sizeof(struct Curl_sockaddr_storage);
@ -1063,7 +1063,7 @@ static CURLcode set_remote_ip(struct Curl_cfilter *cf,
struct cf_socket_ctx *ctx = cf->ctx; struct cf_socket_ctx *ctx = cf->ctx;
/* store remote address and port used in this connection attempt */ /* store remote address and port used in this connection attempt */
if(!Curl_addr2string(&ctx->addr.sa_addr, ctx->addr.addrlen, if(!Curl_addr2string(&ctx->addr.sa_addr, (curl_socklen_t)ctx->addr.addrlen,
ctx->ip.remote_ip, &ctx->ip.remote_port)) { ctx->ip.remote_ip, &ctx->ip.remote_port)) {
char buffer[STRERROR_LEN]; char buffer[STRERROR_LEN];
@ -1247,7 +1247,8 @@ static int do_connect(struct Curl_cfilter *cf, struct Curl_easy *data,
#endif #endif
} }
else { else {
rc = connect(ctx->sock, &ctx->addr.sa_addr, ctx->addr.addrlen); rc = connect(ctx->sock, &ctx->addr.sa_addr,
(curl_socklen_t)ctx->addr.addrlen);
} }
return rc; return rc;
} }
@ -1785,7 +1786,8 @@ static CURLcode cf_udp_setup_quic(struct Curl_cfilter *cf,
/* On macOS OpenSSL QUIC fails on connected sockets. /* On macOS OpenSSL QUIC fails on connected sockets.
* see: <https://github.com/openssl/openssl/issues/23251> */ * see: <https://github.com/openssl/openssl/issues/23251> */
#else #else
rc = connect(ctx->sock, &ctx->addr.sa_addr, ctx->addr.addrlen); rc = connect(ctx->sock, &ctx->addr.sa_addr,
(curl_socklen_t)ctx->addr.addrlen);
if(-1 == rc) { if(-1 == rc) {
return socket_connect_result(data, ctx->ip.remote_ip, SOCKERRNO); return socket_connect_result(data, ctx->ip.remote_ip, SOCKERRNO);
} }

View File

@ -536,13 +536,13 @@ static CURLcode gzip_do_write(struct Curl_easy *data,
/* Append the new block of data to the previous one */ /* Append the new block of data to the previous one */
memcpy(z->next_in + z->avail_in - nbytes, buf, nbytes); memcpy(z->next_in + z->avail_in - nbytes, buf, nbytes);
switch(check_gzip_header(z->next_in, z->avail_in, &hlen)) { switch(check_gzip_header(z->next_in, (ssize_t)z->avail_in, &hlen)) {
case GZIP_OK: case GZIP_OK:
/* This is the zlib stream data */ /* This is the zlib stream data */
free(z->next_in); free(z->next_in);
/* Don't point into the malloced block since we just freed it */ /* Don't point into the malloced block since we just freed it */
z->next_in = (Bytef *) buf + hlen + nbytes - z->avail_in; z->next_in = (Bytef *) buf + hlen + nbytes - z->avail_in;
z->avail_in = (uInt) (z->avail_in - hlen); z->avail_in = z->avail_in - (uInt)hlen;
zp->zlib_init = ZLIB_GZIP_INFLATING; /* Inflating stream state */ zp->zlib_init = ZLIB_GZIP_INFLATING; /* Inflating stream state */
break; break;

View File

@ -262,8 +262,9 @@ static size_t cookie_hash_domain(const char *domain, const size_t len)
size_t h = 5381; size_t h = 5381;
while(domain < end) { while(domain < end) {
size_t j = (size_t)Curl_raw_toupper(*domain++);
h += h << 5; h += h << 5;
h ^= Curl_raw_toupper(*domain++); h ^= j;
} }
return (h % COOKIE_HASH_SIZE); return (h % COOKIE_HASH_SIZE);

View File

@ -317,7 +317,11 @@ Curl_he2ai(const struct hostent *he, int port)
addr = (void *)ai->ai_addr; /* storage area for this info */ addr = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr->sin_addr, curr, sizeof(struct in_addr)); memcpy(&addr->sin_addr, curr, sizeof(struct in_addr));
#ifdef __MINGW32__
addr->sin_family = (short)(he->h_addrtype);
#else
addr->sin_family = (CURL_SA_FAMILY_T)(he->h_addrtype); addr->sin_family = (CURL_SA_FAMILY_T)(he->h_addrtype);
#endif
addr->sin_port = htons((unsigned short)port); addr->sin_port = htons((unsigned short)port);
break; break;
@ -326,7 +330,11 @@ Curl_he2ai(const struct hostent *he, int port)
addr6 = (void *)ai->ai_addr; /* storage area for this info */ addr6 = (void *)ai->ai_addr; /* storage area for this info */
memcpy(&addr6->sin6_addr, curr, sizeof(struct in6_addr)); memcpy(&addr6->sin6_addr, curr, sizeof(struct in6_addr));
#ifdef __MINGW32__
addr6->sin6_family = (short)(he->h_addrtype);
#else
addr6->sin6_family = (CURL_SA_FAMILY_T)(he->h_addrtype); addr6->sin6_family = (CURL_SA_FAMILY_T)(he->h_addrtype);
#endif
addr6->sin6_port = htons((unsigned short)port); addr6->sin6_port = htons((unsigned short)port);
break; break;
#endif #endif

View File

@ -80,7 +80,7 @@ static int parsekeyword(unsigned char **pattern, unsigned char *charset)
unsigned char *p = *pattern; unsigned char *p = *pattern;
bool found = FALSE; bool found = FALSE;
for(i = 0; !found; i++) { for(i = 0; !found; i++) {
char c = *p++; char c = (char)*p++;
if(i >= KEYLEN) if(i >= KEYLEN)
return SETCHARSET_FAIL; return SETCHARSET_FAIL;
switch(state) { switch(state) {

View File

@ -137,14 +137,14 @@
*/ */
static void extend_key_56_to_64(const unsigned char *key_56, char *key) static void extend_key_56_to_64(const unsigned char *key_56, char *key)
{ {
key[0] = key_56[0]; key[0] = (char)key_56[0];
key[1] = (unsigned char)(((key_56[0] << 7) & 0xFF) | (key_56[1] >> 1)); key[1] = (char)(((key_56[0] << 7) & 0xFF) | (key_56[1] >> 1));
key[2] = (unsigned char)(((key_56[1] << 6) & 0xFF) | (key_56[2] >> 2)); key[2] = (char)(((key_56[1] << 6) & 0xFF) | (key_56[2] >> 2));
key[3] = (unsigned char)(((key_56[2] << 5) & 0xFF) | (key_56[3] >> 3)); key[3] = (char)(((key_56[2] << 5) & 0xFF) | (key_56[3] >> 3));
key[4] = (unsigned char)(((key_56[3] << 4) & 0xFF) | (key_56[4] >> 4)); key[4] = (char)(((key_56[3] << 4) & 0xFF) | (key_56[4] >> 4));
key[5] = (unsigned char)(((key_56[4] << 3) & 0xFF) | (key_56[5] >> 5)); key[5] = (char)(((key_56[4] << 3) & 0xFF) | (key_56[5] >> 5));
key[6] = (unsigned char)(((key_56[5] << 2) & 0xFF) | (key_56[6] >> 6)); key[6] = (char)(((key_56[5] << 2) & 0xFF) | (key_56[6] >> 6));
key[7] = (unsigned char) ((key_56[6] << 1) & 0xFF); key[7] = (char) ((key_56[6] << 1) & 0xFF);
} }
#endif #endif
@ -466,13 +466,13 @@ static void time2filetime(struct ms_filetime *ft, time_t t)
unsigned int r, s; unsigned int r, s;
unsigned int i; unsigned int i;
ft->dwLowDateTime = t & 0xFFFFFFFF; ft->dwLowDateTime = (unsigned int)t & 0xFFFFFFFF;
ft->dwHighDateTime = 0; ft->dwHighDateTime = 0;
# ifndef HAVE_TIME_T_UNSIGNED # ifndef HAVE_TIME_T_UNSIGNED
/* Extend sign if needed. */ /* Extend sign if needed. */
if(ft->dwLowDateTime & 0x80000000) if(ft->dwLowDateTime & 0x80000000)
ft->dwHighDateTime = ~0; ft->dwHighDateTime = ~(unsigned int)0;
# endif # endif
/* Bias seconds to Jan 1, 1601. /* Bias seconds to Jan 1, 1601.

View File

@ -518,12 +518,12 @@ static DOHcode skipqname(const unsigned char *doh, size_t dohlen,
return DOH_OK; return DOH_OK;
} }
static unsigned short get16bit(const unsigned char *doh, int index) static unsigned short get16bit(const unsigned char *doh, unsigned int index)
{ {
return (unsigned short)((doh[index] << 8) | doh[index + 1]); return (unsigned short)((doh[index] << 8) | doh[index + 1]);
} }
static unsigned int get32bit(const unsigned char *doh, int index) static unsigned int get32bit(const unsigned char *doh, unsigned int index)
{ {
/* make clang and gcc optimize this to bswap by incrementing /* make clang and gcc optimize this to bswap by incrementing
the pointer first. */ the pointer first. */
@ -606,7 +606,7 @@ static DOHcode store_cname(const unsigned char *doh,
/* move to the new index */ /* move to the new index */
newpos = (length & 0x3f) << 8 | doh[index + 1]; newpos = (length & 0x3f) << 8 | doh[index + 1];
index = newpos; index = (unsigned int)newpos;
continue; continue;
} }
else if(length & 0xc0) else if(length & 0xc0)
@ -670,7 +670,7 @@ static DOHcode rdata(const unsigned char *doh,
break; break;
#endif #endif
case DNS_TYPE_CNAME: case DNS_TYPE_CNAME:
rc = store_cname(doh, dohlen, index, d); rc = store_cname(doh, dohlen, (unsigned int)index, d);
if(rc) if(rc)
return rc; return rc;
break; break;
@ -771,7 +771,7 @@ UNITTEST DOHcode doh_decode(const unsigned char *doh,
if(dohlen < (index + rdlength)) if(dohlen < (index + rdlength))
return DOH_DNS_OUT_OF_RANGE; return DOH_DNS_OUT_OF_RANGE;
rc = rdata(doh, dohlen, rdlength, type, index, d); rc = rdata(doh, dohlen, rdlength, type, (int)index, d);
if(rc) if(rc)
return rc; /* bad rdata */ return rc; /* bad rdata */
index += rdlength; index += rdlength;
@ -967,7 +967,11 @@ static CURLcode doh2ai(const struct dohentry *de, const char *hostname,
addr = (void *)ai->ai_addr; /* storage area for this info */ addr = (void *)ai->ai_addr; /* storage area for this info */
DEBUGASSERT(sizeof(struct in_addr) == sizeof(de->addr[i].ip.v4)); DEBUGASSERT(sizeof(struct in_addr) == sizeof(de->addr[i].ip.v4));
memcpy(&addr->sin_addr, &de->addr[i].ip.v4, sizeof(struct in_addr)); memcpy(&addr->sin_addr, &de->addr[i].ip.v4, sizeof(struct in_addr));
#ifdef __MINGW32__
addr->sin_family = (short)addrtype;
#else
addr->sin_family = addrtype; addr->sin_family = addrtype;
#endif
addr->sin_port = htons((unsigned short)port); addr->sin_port = htons((unsigned short)port);
break; break;
@ -976,7 +980,11 @@ static CURLcode doh2ai(const struct dohentry *de, const char *hostname,
addr6 = (void *)ai->ai_addr; /* storage area for this info */ addr6 = (void *)ai->ai_addr; /* storage area for this info */
DEBUGASSERT(sizeof(struct in6_addr) == sizeof(de->addr[i].ip.v6)); DEBUGASSERT(sizeof(struct in6_addr) == sizeof(de->addr[i].ip.v6));
memcpy(&addr6->sin6_addr, &de->addr[i].ip.v6, sizeof(struct in6_addr)); memcpy(&addr6->sin6_addr, &de->addr[i].ip.v6, sizeof(struct in6_addr));
#ifdef __MINGW32__
addr6->sin6_family = (short)addrtype;
#else
addr6->sin6_family = addrtype; addr6->sin6_family = addrtype;
#endif
addr6->sin6_port = htons((unsigned short)port); addr6->sin6_port = htons((unsigned short)port);
break; break;
#endif #endif

View File

@ -579,7 +579,7 @@ static CURLcode wait_or_timeout(struct Curl_multi *multi, struct events *ev)
before = Curl_now(); before = Curl_now();
/* wait for activity or timeout */ /* wait for activity or timeout */
pollrc = Curl_poll(fds, numfds, ev->ms); pollrc = Curl_poll(fds, (unsigned int)numfds, ev->ms);
if(pollrc < 0) if(pollrc < 0)
return CURLE_UNRECOVERABLE_POLL; return CURLE_UNRECOVERABLE_POLL;

View File

@ -70,7 +70,8 @@ char *curl_easy_escape(struct Curl_easy *data, const char *string,
return strdup(""); return strdup("");
while(length--) { while(length--) {
unsigned char in = *string++; /* treat the characters unsigned */ /* treat the characters unsigned */
unsigned char in = (unsigned char)*string++;
if(ISUNRESERVED(in)) { if(ISUNRESERVED(in)) {
/* append this */ /* append this */
@ -137,7 +138,7 @@ CURLcode Curl_urldecode(const char *string, size_t length,
*ostring = ns; *ostring = ns;
while(alloc) { while(alloc) {
unsigned char in = *string; unsigned char in = (unsigned char)*string;
if(('%' == in) && (alloc > 2) && if(('%' == in) && (alloc > 2) &&
ISXDIGIT(string[1]) && ISXDIGIT(string[2])) { ISXDIGIT(string[1]) && ISXDIGIT(string[2])) {
/* this is two hexadecimal digits following a '%' */ /* this is two hexadecimal digits following a '%' */
@ -157,7 +158,7 @@ CURLcode Curl_urldecode(const char *string, size_t length,
return CURLE_URL_MALFORMAT; return CURLE_URL_MALFORMAT;
} }
*ns++ = in; *ns++ = (char)in;
} }
*ns = 0; /* terminate it */ *ns = 0; /* terminate it */
@ -222,8 +223,8 @@ void Curl_hexencode(const unsigned char *src, size_t len, /* input length */
while(len-- && (olen >= 3)) { while(len-- && (olen >= 3)) {
/* clang-tidy warns on this line without this comment: */ /* clang-tidy warns on this line without this comment: */
/* NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult) */ /* NOLINTNEXTLINE(clang-analyzer-core.UndefinedBinaryOperatorResult) */
*out++ = hex[(*src & 0xF0)>>4]; *out++ = (unsigned char)hex[(*src & 0xF0)>>4];
*out++ = hex[*src & 0x0F]; *out++ = (unsigned char)hex[*src & 0x0F];
++src; ++src;
olen -= 2; olen -= 2;
} }

View File

@ -204,7 +204,7 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
char *timestr = getenv("CURL_TIME"); char *timestr = getenv("CURL_TIME");
if(timestr) { if(timestr) {
unsigned long val = strtol(timestr, NULL, 10); unsigned long val = strtoul(timestr, NULL, 10);
switch(info) { switch(info) {
case CURLINFO_LOCAL_PORT: case CURLINFO_LOCAL_PORT:
*param_longp = (long)val; *param_longp = (long)val;
@ -216,7 +216,7 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
/* use another variable for this to allow different values */ /* use another variable for this to allow different values */
timestr = getenv("CURL_DEBUG_SIZE"); timestr = getenv("CURL_DEBUG_SIZE");
if(timestr) { if(timestr) {
unsigned long val = strtol(timestr, NULL, 10); unsigned long val = strtoul(timestr, NULL, 10);
switch(info) { switch(info) {
case CURLINFO_HEADER_SIZE: case CURLINFO_HEADER_SIZE:
case CURLINFO_REQUEST_SIZE: case CURLINFO_REQUEST_SIZE:
@ -335,7 +335,7 @@ static CURLcode getinfo_long(struct Curl_easy *data, CURLINFO info,
} }
break; break;
case CURLINFO_PROTOCOL: case CURLINFO_PROTOCOL:
*param_longp = data->info.conn_protocol; *param_longp = (long)data->info.conn_protocol;
break; break;
case CURLINFO_USED_PROXY: case CURLINFO_USED_PROXY:
*param_longp = *param_longp =
@ -361,7 +361,7 @@ static CURLcode getinfo_offt(struct Curl_easy *data, CURLINFO info,
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
char *timestr = getenv("CURL_TIME"); char *timestr = getenv("CURL_TIME");
if(timestr) { if(timestr) {
unsigned long val = strtol(timestr, NULL, 10); unsigned long val = strtoul(timestr, NULL, 10);
switch(info) { switch(info) {
case CURLINFO_TOTAL_TIME_T: case CURLINFO_TOTAL_TIME_T:
case CURLINFO_NAMELOOKUP_TIME_T: case CURLINFO_NAMELOOKUP_TIME_T:
@ -450,7 +450,7 @@ static CURLcode getinfo_double(struct Curl_easy *data, CURLINFO info,
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
char *timestr = getenv("CURL_TIME"); char *timestr = getenv("CURL_TIME");
if(timestr) { if(timestr) {
unsigned long val = strtol(timestr, NULL, 10); unsigned long val = strtoul(timestr, NULL, 10);
switch(info) { switch(info) {
case CURLINFO_TOTAL_TIME: case CURLINFO_TOTAL_TIME:
case CURLINFO_NAMELOOKUP_TIME: case CURLINFO_NAMELOOKUP_TIME:

View File

@ -270,8 +270,9 @@ size_t Curl_hash_str(void *key, size_t key_length, size_t slots_num)
size_t h = 5381; size_t h = 5381;
while(key_str < end) { while(key_str < end) {
size_t j = (size_t)*key_str++;
h += h << 5; h += h << 5;
h ^= *key_str++; h ^= j;
} }
return (h % slots_num); return (h % slots_num);

View File

@ -54,7 +54,7 @@ static void copy_header_external(struct Curl_header_store *hs,
impossible for applications to do == comparisons, as that would otherwise impossible for applications to do == comparisons, as that would otherwise
be very tempting and then lead to the reserved bits not being reserved be very tempting and then lead to the reserved bits not being reserved
anymore. */ anymore. */
h->origin = hs->type | (1<<27); h->origin = (unsigned int)(hs->type | (1<<27));
h->anchor = e; h->anchor = e;
} }

View File

@ -428,8 +428,8 @@ UNITTEST CURLcode Curl_shuffle_addr(struct Curl_easy *data,
if(Curl_rand(data, (unsigned char *)rnd, rnd_size) == CURLE_OK) { if(Curl_rand(data, (unsigned char *)rnd, rnd_size) == CURLE_OK) {
struct Curl_addrinfo *swap_tmp; struct Curl_addrinfo *swap_tmp;
for(i = num_addrs - 1; i > 0; i--) { for(i = num_addrs - 1; i > 0; i--) {
swap_tmp = nodes[rnd[i] % (i + 1)]; swap_tmp = nodes[rnd[i] % (unsigned int)(i + 1)];
nodes[rnd[i] % (i + 1)] = nodes[i]; nodes[rnd[i] % (unsigned int)(i + 1)] = nodes[i];
nodes[i] = swap_tmp; nodes[i] = swap_tmp;
} }

View File

@ -217,7 +217,7 @@ static CURLcode start_req(struct h1_req_parser *parser,
tmp[target_len] = '\0'; tmp[target_len] = '\0';
/* See if treating TARGET as an absolute URL makes sense */ /* See if treating TARGET as an absolute URL makes sense */
if(Curl_is_absolute_url(tmp, NULL, 0, FALSE)) { if(Curl_is_absolute_url(tmp, NULL, 0, FALSE)) {
int url_options; unsigned int url_options;
url = curl_url(); url = curl_url();
if(!url) { if(!url) {

View File

@ -93,7 +93,7 @@
#define H2_SETTINGS_IV_LEN 3 #define H2_SETTINGS_IV_LEN 3
#define H2_BINSETTINGS_LEN 80 #define H2_BINSETTINGS_LEN 80
static int populate_settings(nghttp2_settings_entry *iv, static size_t populate_settings(nghttp2_settings_entry *iv,
struct Curl_easy *data) struct Curl_easy *data)
{ {
iv[0].settings_id = NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS; iv[0].settings_id = NGHTTP2_SETTINGS_MAX_CONCURRENT_STREAMS;
@ -112,7 +112,7 @@ static ssize_t populate_binsettings(uint8_t *binsettings,
struct Curl_easy *data) struct Curl_easy *data)
{ {
nghttp2_settings_entry iv[H2_SETTINGS_IV_LEN]; nghttp2_settings_entry iv[H2_SETTINGS_IV_LEN];
int ivlen; size_t ivlen;
ivlen = populate_settings(iv, data); ivlen = populate_settings(iv, data);
/* this returns number of bytes it wrote or a negative number on error. */ /* this returns number of bytes it wrote or a negative number on error. */
@ -133,7 +133,7 @@ struct cf_h2_ctx {
struct Curl_hash streams; /* hash of `data->id` to `h2_stream_ctx` */ struct Curl_hash streams; /* hash of `data->id` to `h2_stream_ctx` */
size_t drain_total; /* sum of all stream's UrlState drain */ size_t drain_total; /* sum of all stream's UrlState drain */
uint32_t max_concurrent_streams; uint32_t max_concurrent_streams;
int32_t goaway_error; uint32_t goaway_error;
int32_t last_stream_id; int32_t last_stream_id;
BIT(conn_closed); BIT(conn_closed);
BIT(goaway); BIT(goaway);
@ -486,7 +486,7 @@ static CURLcode cf_h2_ctx_init(struct Curl_cfilter *cf,
DEBUGASSERT(stream); DEBUGASSERT(stream);
stream->id = 1; stream->id = 1;
/* queue SETTINGS frame (again) */ /* queue SETTINGS frame (again) */
rc = nghttp2_session_upgrade2(ctx->h2, binsettings, binlen, rc = nghttp2_session_upgrade2(ctx->h2, binsettings, (size_t)binlen,
data->state.httpreq == HTTPREQ_HEAD, data->state.httpreq == HTTPREQ_HEAD,
NULL); NULL);
if(rc) { if(rc) {
@ -507,7 +507,7 @@ static CURLcode cf_h2_ctx_init(struct Curl_cfilter *cf,
} }
else { else {
nghttp2_settings_entry iv[H2_SETTINGS_IV_LEN]; nghttp2_settings_entry iv[H2_SETTINGS_IV_LEN];
int ivlen; size_t ivlen;
ivlen = populate_settings(iv, data); ivlen = populate_settings(iv, data);
rc = nghttp2_submit_settings(ctx->h2, NGHTTP2_FLAG_NONE, rc = nghttp2_submit_settings(ctx->h2, NGHTTP2_FLAG_NONE,
@ -1007,7 +1007,7 @@ static void h2_xfer_write_resp(struct Curl_cfilter *cf,
"RST-ing stream", "RST-ing stream",
stream->id, stream->xfer_result, blen); stream->id, stream->xfer_result, blen);
nghttp2_submit_rst_stream(ctx->h2, 0, stream->id, nghttp2_submit_rst_stream(ctx->h2, 0, stream->id,
NGHTTP2_ERR_CALLBACK_FAILURE); (uint32_t)NGHTTP2_ERR_CALLBACK_FAILURE);
} }
} }
@ -1256,7 +1256,7 @@ static int on_frame_recv(nghttp2_session *session, const nghttp2_frame *frame,
ctx->goaway_error = frame->goaway.error_code; ctx->goaway_error = frame->goaway.error_code;
ctx->last_stream_id = frame->goaway.last_stream_id; ctx->last_stream_id = frame->goaway.last_stream_id;
if(data) { if(data) {
infof(data, "received GOAWAY, error=%d, last_stream=%u", infof(data, "received GOAWAY, error=%u, last_stream=%u",
ctx->goaway_error, ctx->last_stream_id); ctx->goaway_error, ctx->last_stream_id);
Curl_multi_connchanged(data->multi); Curl_multi_connchanged(data->multi);
} }
@ -1654,7 +1654,7 @@ CURLcode Curl_http2_request_upgrade(struct dynbuf *req,
return CURLE_FAILED_INIT; return CURLE_FAILED_INIT;
} }
result = Curl_base64url_encode((const char *)binsettings, binlen, result = Curl_base64url_encode((const char *)binsettings, (size_t)binlen,
&base64, &blen); &base64, &blen);
if(result) { if(result) {
Curl_dyn_free(req); Curl_dyn_free(req);
@ -2292,8 +2292,8 @@ static ssize_t cf_h2_send(struct Curl_cfilter *cf, struct Curl_easy *data,
/* Unable to send all data, due to connection blocked or H2 window /* Unable to send all data, due to connection blocked or H2 window
* exhaustion. Data is left in our stream buffer, or nghttp2's internal * exhaustion. Data is left in our stream buffer, or nghttp2's internal
* frame buffer or our network out buffer. */ * frame buffer or our network out buffer. */
size_t rwin = nghttp2_session_get_stream_remote_window_size(ctx->h2, size_t rwin = (size_t)nghttp2_session_get_stream_remote_window_size(
stream->id); ctx->h2, stream->id);
/* At the start of a stream, we are called with request headers /* At the start of a stream, we are called with request headers
* and, possibly, parts of the body. Later, only body data. * and, possibly, parts of the body. Later, only body data.
* If we cannot send pure body data, we EAGAIN. If there had been * If we cannot send pure body data, we EAGAIN. If there had been
@ -2474,10 +2474,10 @@ static CURLcode http2_data_pause(struct Curl_cfilter *cf,
if(ctx && ctx->h2 && stream) { if(ctx && ctx->h2 && stream) {
uint32_t window = pause? 0 : stream->local_window_size; uint32_t window = pause? 0 : stream->local_window_size;
int rv = nghttp2_session_set_local_window_size(ctx->h2, int rv = (int)nghttp2_session_set_local_window_size(ctx->h2,
NGHTTP2_FLAG_NONE, NGHTTP2_FLAG_NONE,
stream->id, stream->id,
window); (int32_t)window);
if(rv) { if(rv) {
failf(data, "nghttp2_session_set_local_window_size() failed: %s(%d)", failf(data, "nghttp2_session_set_local_window_size() failed: %s(%d)",
nghttp2_strerror(rv), rv); nghttp2_strerror(rv), rv);
@ -2505,7 +2505,7 @@ static CURLcode http2_data_pause(struct Curl_cfilter *cf,
#ifdef DEBUGBUILD #ifdef DEBUGBUILD
{ {
/* read out the stream local window again */ /* read out the stream local window again */
uint32_t window2 = uint32_t window2 = (uint32_t)
nghttp2_session_get_stream_local_window_size(ctx->h2, nghttp2_session_get_stream_local_window_size(ctx->h2,
stream->id); stream->id);
DEBUGF(infof(data, "HTTP/2 window size is now %u for stream %u", DEBUGF(infof(data, "HTTP/2 window size is now %u for stream %u",

View File

@ -776,7 +776,7 @@ static CURLcode imap_perform_append(struct Curl_easy *data)
/* Prepare the mime data if some. */ /* Prepare the mime data if some. */
if(data->set.mimepost.kind != MIMEKIND_NONE) { if(data->set.mimepost.kind != MIMEKIND_NONE) {
/* Use the whole structure as data. */ /* Use the whole structure as data. */
data->set.mimepost.flags &= ~MIME_BODY_ONLY; data->set.mimepost.flags &= ~(unsigned int)MIME_BODY_ONLY;
/* Add external headers and mime version. */ /* Add external headers and mime version. */
curl_mime_headers(&data->set.mimepost, data->set.headers, 0); curl_mime_headers(&data->set.mimepost, data->set.headers, 0);

View File

@ -58,7 +58,7 @@
* - uses no statics * - uses no statics
* - takes a unsigned char* not an in_addr as input * - takes a unsigned char* not an in_addr as input
*/ */
static char *inet_ntop4 (const unsigned char *src, char *dst, size_t size) static char *inet_ntop4(const unsigned char *src, char *dst, size_t size)
{ {
char tmp[sizeof("255.255.255.255")]; char tmp[sizeof("255.255.255.255")];
size_t len; size_t len;
@ -84,7 +84,7 @@ static char *inet_ntop4 (const unsigned char *src, char *dst, size_t size)
/* /*
* Convert IPv6 binary address into presentation (printable) format. * Convert IPv6 binary address into presentation (printable) format.
*/ */
static char *inet_ntop6 (const unsigned char *src, char *dst, size_t size) static char *inet_ntop6(const unsigned char *src, char *dst, size_t size)
{ {
/* /*
* Note that int32_t and int16_t need only be "at least" large enough * Note that int32_t and int16_t need only be "at least" large enough

View File

@ -32,8 +32,13 @@ char *Curl_inet_ntop(int af, const void *addr, char *buf, size_t size);
#ifdef HAVE_ARPA_INET_H #ifdef HAVE_ARPA_INET_H
#include <arpa/inet.h> #include <arpa/inet.h>
#endif #endif
#ifdef _WIN32
#define Curl_inet_ntop(af,addr,buf,size) \ #define Curl_inet_ntop(af,addr,buf,size) \
inet_ntop(af, addr, buf, (curl_socklen_t)size) inet_ntop(af, addr, buf, size)
#else
#define Curl_inet_ntop(af,addr,buf,size) \
inet_ntop(af, addr, buf, (curl_socklen_t)(size))
#endif
#endif #endif
#endif /* HEADER_CURL_INET_NTOP_H */ #endif /* HEADER_CURL_INET_NTOP_H */

View File

@ -169,7 +169,7 @@ krb5_encode(void *app_data, const void *from, int length, int level, void **to)
* libraries modify the input buffer in gss_wrap() * libraries modify the input buffer in gss_wrap()
*/ */
dec.value = (void *)from; dec.value = (void *)from;
dec.length = length; dec.length = (size_t)length;
maj = gss_wrap(&min, *context, maj = gss_wrap(&min, *context,
level == PROT_PRIVATE, level == PROT_PRIVATE,
GSS_C_QOP_DEFAULT, GSS_C_QOP_DEFAULT,
@ -524,7 +524,7 @@ static CURLcode read_data(struct Curl_easy *data, int sockindex,
return result; return result;
if(len) { if(len) {
len = ntohl(len); len = (int)ntohl((uint32_t)len);
if(len > CURL_MAX_INPUT_LENGTH) if(len > CURL_MAX_INPUT_LENGTH)
return CURLE_TOO_LARGE; return CURLE_TOO_LARGE;
@ -536,7 +536,7 @@ static CURLcode read_data(struct Curl_easy *data, int sockindex,
do { do {
char buffer[1024]; char buffer[1024];
nread = CURLMIN(len, (int)sizeof(buffer)); nread = CURLMIN(len, (int)sizeof(buffer));
result = socket_read(data, sockindex, buffer, nread); result = socket_read(data, sockindex, buffer, (size_t)nread);
if(result) if(result)
return result; return result;
result = Curl_dyn_addn(&buf->buf, buffer, nread); result = Curl_dyn_addn(&buf->buf, buffer, nread);
@ -630,7 +630,7 @@ static void do_sec_send(struct Curl_easy *data, struct connectdata *conn,
else else
prot_level = conn->command_prot; prot_level = conn->command_prot;
} }
bytes = conn->mech->encode(conn->app_data, from, length, prot_level, bytes = conn->mech->encode(conn->app_data, from, length, (int)prot_level,
(void **)&buffer); (void **)&buffer);
if(!buffer || bytes <= 0) if(!buffer || bytes <= 0)
return; /* error */ return; /* error */
@ -658,7 +658,7 @@ static void do_sec_send(struct Curl_easy *data, struct connectdata *conn,
} }
} }
else { else {
htonl_bytes = htonl(bytes); htonl_bytes = (int)htonl((OM_uint32)bytes);
socket_write(data, fd, &htonl_bytes, sizeof(htonl_bytes)); socket_write(data, fd, &htonl_bytes, sizeof(htonl_bytes));
socket_write(data, fd, buffer, curlx_sitouz(bytes)); socket_write(data, fd, buffer, curlx_sitouz(bytes));
} }
@ -724,7 +724,7 @@ int Curl_sec_read_msg(struct Curl_easy *data, struct connectdata *conn,
decoded_len = curlx_uztosi(decoded_sz); decoded_len = curlx_uztosi(decoded_sz);
decoded_len = conn->mech->decode(conn->app_data, buf, decoded_len, decoded_len = conn->mech->decode(conn->app_data, buf, decoded_len,
level, conn); (int)level, conn);
if(decoded_len <= 0) { if(decoded_len <= 0) {
free(buf); free(buf);
return -1; return -1;
@ -789,7 +789,7 @@ static int sec_set_protection_level(struct Curl_easy *data)
if(pbsz) { if(pbsz) {
/* stick to default value if the check fails */ /* stick to default value if the check fails */
if(ISDIGIT(pbsz[5])) if(ISDIGIT(pbsz[5]))
buffer_size = atoi(&pbsz[5]); buffer_size = (unsigned int)atoi(&pbsz[5]);
if(buffer_size < conn->buffer_size) if(buffer_size < conn->buffer_size)
conn->buffer_size = buffer_size; conn->buffer_size = buffer_size;
} }

View File

@ -252,16 +252,17 @@ static int ldap_win_bind_auth(LDAP *server, const char *user,
} }
if(method && user && passwd) { if(method && user && passwd) {
rc = Curl_create_sspi_identity(user, passwd, &cred); CURLcode res = Curl_create_sspi_identity(user, passwd, &cred);
rc = (int)res;
if(!rc) { if(!rc) {
rc = ldap_bind_s(server, NULL, (TCHAR *)&cred, method); rc = (int)ldap_bind_s(server, NULL, (TCHAR *)&cred, method);
Curl_sspi_free_identity(&cred); Curl_sspi_free_identity(&cred);
} }
} }
else { else {
/* proceed with current user credentials */ /* proceed with current user credentials */
method = LDAP_AUTH_NEGOTIATE; method = LDAP_AUTH_NEGOTIATE;
rc = ldap_bind_s(server, NULL, NULL, method); rc = (int)ldap_bind_s(server, NULL, NULL, method);
} }
return rc; return rc;
} }
@ -279,14 +280,14 @@ static int ldap_win_bind(struct Curl_easy *data, LDAP *server,
inuser = curlx_convert_UTF8_to_tchar((char *) user); inuser = curlx_convert_UTF8_to_tchar((char *) user);
inpass = curlx_convert_UTF8_to_tchar((char *) passwd); inpass = curlx_convert_UTF8_to_tchar((char *) passwd);
rc = ldap_simple_bind_s(server, inuser, inpass); rc = (int)ldap_simple_bind_s(server, inuser, inpass);
curlx_unicodefree(inuser); curlx_unicodefree(inuser);
curlx_unicodefree(inpass); curlx_unicodefree(inpass);
} }
#if defined(USE_WINDOWS_SSPI) #if defined(USE_WINDOWS_SSPI)
else { else {
rc = ldap_win_bind_auth(server, user, passwd, data->set.httpauth); rc = (int)ldap_win_bind_auth(server, user, passwd, data->set.httpauth);
} }
#endif #endif
@ -296,8 +297,10 @@ static int ldap_win_bind(struct Curl_easy *data, LDAP *server,
#if defined(USE_WIN32_LDAP) #if defined(USE_WIN32_LDAP)
#define FREE_ON_WINLDAP(x) curlx_unicodefree(x) #define FREE_ON_WINLDAP(x) curlx_unicodefree(x)
#define curl_ldap_num_t ULONG
#else #else
#define FREE_ON_WINLDAP(x) #define FREE_ON_WINLDAP(x)
#define curl_ldap_num_t int
#endif #endif
@ -337,7 +340,7 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
rc = _ldap_url_parse(data, conn, &ludp); rc = _ldap_url_parse(data, conn, &ludp);
#endif #endif
if(rc) { if(rc) {
failf(data, "Bad LDAP URL: %s", ldap_err2string(rc)); failf(data, "Bad LDAP URL: %s", ldap_err2string((curl_ldap_num_t)rc));
result = CURLE_URL_MALFORMAT; result = CURLE_URL_MALFORMAT;
goto quit; goto quit;
} }
@ -373,7 +376,7 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
#ifdef HAVE_LDAP_SSL #ifdef HAVE_LDAP_SSL
#ifdef USE_WIN32_LDAP #ifdef USE_WIN32_LDAP
/* Win32 LDAP SDK doesn't support insecure mode without CA! */ /* Win32 LDAP SDK doesn't support insecure mode without CA! */
server = ldap_sslinit(host, conn->primary.remote_port, 1); server = ldap_sslinit(host, (curl_ldap_num_t)conn->primary.remote_port, 1);
ldap_set_option(server, LDAP_OPT_SSL, LDAP_OPT_ON); ldap_set_option(server, LDAP_OPT_SSL, LDAP_OPT_ON);
#else #else
int ldap_option; int ldap_option;
@ -503,7 +506,7 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
goto quit; goto quit;
} }
else { else {
server = ldap_init(host, conn->primary.remote_port); server = ldap_init(host, (curl_ldap_num_t)conn->primary.remote_port);
if(!server) { if(!server) {
failf(data, "LDAP local: Cannot connect to %s:%u", failf(data, "LDAP local: Cannot connect to %s:%u",
conn->host.dispname, conn->primary.remote_port); conn->host.dispname, conn->primary.remote_port);
@ -529,7 +532,7 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
if(rc) { if(rc) {
#ifdef USE_WIN32_LDAP #ifdef USE_WIN32_LDAP
failf(data, "LDAP local: bind via ldap_win_bind %s", failf(data, "LDAP local: bind via ldap_win_bind %s",
ldap_err2string(rc)); ldap_err2string((ULONG)rc));
#else #else
failf(data, "LDAP local: bind via ldap_simple_bind_s %s", failf(data, "LDAP local: bind via ldap_simple_bind_s %s",
ldap_err2string(rc)); ldap_err2string(rc));
@ -539,11 +542,12 @@ static CURLcode ldap_do(struct Curl_easy *data, bool *done)
} }
Curl_pgrsSetDownloadCounter(data, 0); Curl_pgrsSetDownloadCounter(data, 0);
rc = ldap_search_s(server, ludp->lud_dn, ludp->lud_scope, rc = (int)ldap_search_s(server, ludp->lud_dn,
(curl_ldap_num_t)ludp->lud_scope,
ludp->lud_filter, ludp->lud_attrs, 0, &ldapmsg); ludp->lud_filter, ludp->lud_attrs, 0, &ldapmsg);
if(rc && rc != LDAP_SIZELIMIT_EXCEEDED) { if(rc && rc != LDAP_SIZELIMIT_EXCEEDED) {
failf(data, "LDAP remote: %s", ldap_err2string(rc)); failf(data, "LDAP remote: %s", ldap_err2string((curl_ldap_num_t)rc));
result = CURLE_LDAP_SEARCH_FAILED; result = CURLE_LDAP_SEARCH_FAILED;
goto quit; goto quit;
} }

View File

@ -137,13 +137,14 @@ CURL_EXTERN int curl_dbg_fclose(FILE *file, int line, const char *source);
#undef socket #undef socket
#define socket(domain,type,protocol)\ #define socket(domain,type,protocol)\
curl_dbg_socket(domain, type, protocol, __LINE__, __FILE__) curl_dbg_socket((int)domain, type, protocol, __LINE__, __FILE__)
#undef accept /* for those with accept as a macro */ #undef accept /* for those with accept as a macro */
#define accept(sock,addr,len)\ #define accept(sock,addr,len)\
curl_dbg_accept(sock, addr, len, __LINE__, __FILE__) curl_dbg_accept(sock, addr, len, __LINE__, __FILE__)
#ifdef HAVE_SOCKETPAIR #ifdef HAVE_SOCKETPAIR
#define socketpair(domain,type,protocol,socket_vector)\ #define socketpair(domain,type,protocol,socket_vector)\
curl_dbg_socketpair(domain, type, protocol, socket_vector, __LINE__, __FILE__) curl_dbg_socketpair((int)domain, type, protocol, socket_vector, \
__LINE__, __FILE__)
#endif #endif
#ifdef HAVE_GETADDRINFO #ifdef HAVE_GETADDRINFO

View File

@ -1137,7 +1137,7 @@ static void cleanup_part_content(curl_mimepart *part)
part->datasize = (curl_off_t) 0; /* No size yet. */ part->datasize = (curl_off_t) 0; /* No size yet. */
cleanup_encoder_state(&part->encstate); cleanup_encoder_state(&part->encstate);
part->kind = MIMEKIND_NONE; part->kind = MIMEKIND_NONE;
part->flags &= ~MIME_FAST_READ; part->flags &= ~(unsigned int)MIME_FAST_READ;
part->lastreadstatus = 1; /* Successful read status. */ part->lastreadstatus = 1; /* Successful read status. */
part->state.state = MIMESTATE_BEGIN; part->state.state = MIMESTATE_BEGIN;
} }
@ -1497,7 +1497,7 @@ CURLcode curl_mime_headers(curl_mimepart *part,
if(part->flags & MIME_USERHEADERS_OWNER) { if(part->flags & MIME_USERHEADERS_OWNER) {
if(part->userheaders != headers) /* Allow setting twice the same list. */ if(part->userheaders != headers) /* Allow setting twice the same list. */
curl_slist_free_all(part->userheaders); curl_slist_free_all(part->userheaders);
part->flags &= ~MIME_USERHEADERS_OWNER; part->flags &= ~(unsigned int)MIME_USERHEADERS_OWNER;
} }
part->userheaders = headers; part->userheaders = headers;
if(headers && take_ownership) if(headers && take_ownership)
@ -1662,7 +1662,8 @@ static curl_off_t mime_size(curl_mimepart *part)
if(size >= 0 && !(part->flags & MIME_BODY_ONLY)) { if(size >= 0 && !(part->flags & MIME_BODY_ONLY)) {
/* Compute total part size. */ /* Compute total part size. */
size += slist_size(part->curlheaders, 2, NULL, 0); size += slist_size(part->curlheaders, 2, NULL, 0);
size += slist_size(part->userheaders, 2, STRCONST("Content-Type")); size += slist_size(part->userheaders, 2,
STRCONST("Content-Type"));
size += 2; /* CRLF after headers. */ size += 2; /* CRLF after headers. */
} }
return size; return size;

View File

@ -154,15 +154,15 @@ static int mqtt_getsock(struct Curl_easy *data,
static int mqtt_encode_len(char *buf, size_t len) static int mqtt_encode_len(char *buf, size_t len)
{ {
unsigned char encoded;
int i; int i;
for(i = 0; (len > 0) && (i<4); i++) { for(i = 0; (len > 0) && (i<4); i++) {
unsigned char encoded;
encoded = len % 0x80; encoded = len % 0x80;
len /= 0x80; len /= 0x80;
if(len) if(len)
encoded |= 0x80; encoded |= 0x80;
buf[i] = encoded; buf[i] = (char)encoded;
} }
return i; return i;

View File

@ -343,7 +343,7 @@ static size_t hash_fd(void *key, size_t key_length, size_t slots_num)
curl_socket_t fd = *((curl_socket_t *) key); curl_socket_t fd = *((curl_socket_t *) key);
(void) key_length; (void) key_length;
return (fd % slots_num); return (fd % (curl_socket_t)slots_num);
} }
/* /*
@ -1492,7 +1492,8 @@ static CURLMcode multi_wait(struct Curl_multi *multi,
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
} }
else { /* now wait... if not ready during the pre-check (pollrc == 0) */ else { /* now wait... if not ready during the pre-check (pollrc == 0) */
WSAWaitForMultipleEvents(1, &multi->wsa_event, FALSE, timeout_ms, FALSE); WSAWaitForMultipleEvents(1, &multi->wsa_event, FALSE, (DWORD)timeout_ms,
FALSE);
} }
/* With WinSock, we have to run the following section unconditionally /* With WinSock, we have to run the following section unconditionally
to call WSAEventSelect(fd, event, 0) on all the sockets */ to call WSAEventSelect(fd, event, 0) on all the sockets */
@ -1502,7 +1503,7 @@ static CURLMcode multi_wait(struct Curl_multi *multi,
struct, the bit values of the actual underlying poll() implementation struct, the bit values of the actual underlying poll() implementation
may not be the same as the ones in the public libcurl API! */ may not be the same as the ones in the public libcurl API! */
for(i = 0; i < extra_nfds; i++) { for(i = 0; i < extra_nfds; i++) {
unsigned r = ufds[curl_nfds + i].revents; unsigned r = (unsigned)ufds[curl_nfds + i].revents;
unsigned short mask = 0; unsigned short mask = 0;
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
curl_socket_t s = extra_fds[i].fd; curl_socket_t s = extra_fds[i].fd;
@ -1519,7 +1520,7 @@ static CURLMcode multi_wait(struct Curl_multi *multi,
} }
WSAEventSelect(s, multi->wsa_event, 0); WSAEventSelect(s, multi->wsa_event, 0);
if(!pollrc) { if(!pollrc) {
extra_fds[i].revents = mask; extra_fds[i].revents = (short)mask;
continue; continue;
} }
#endif #endif
@ -1529,7 +1530,7 @@ static CURLMcode multi_wait(struct Curl_multi *multi,
mask |= CURL_WAIT_POLLOUT; mask |= CURL_WAIT_POLLOUT;
if(r & POLLPRI) if(r & POLLPRI)
mask |= CURL_WAIT_POLLPRI; mask |= CURL_WAIT_POLLPRI;
extra_fds[i].revents = mask; extra_fds[i].revents = (short)mask;
} }
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
@ -2814,7 +2815,7 @@ CURLMcode curl_multi_perform(struct Curl_multi *multi, int *running_handles)
} }
} while(t); } while(t);
*running_handles = multi->num_alive; *running_handles = (int)multi->num_alive;
if(CURLM_OK >= returncode) if(CURLM_OK >= returncode)
returncode = Curl_update_timer(multi); returncode = Curl_update_timer(multi);
@ -3034,7 +3035,8 @@ static CURLMcode singlesocket(struct Curl_multi *multi,
} }
} }
entry->action = comboaction; /* store the current action state */ /* store the current action state */
entry->action = (unsigned int)comboaction;
} }
/* Check for last_poll.sockets that no longer appear in cur_poll.sockets. /* Check for last_poll.sockets that no longer appear in cur_poll.sockets.
@ -3319,7 +3321,7 @@ static CURLMcode multi_socket(struct Curl_multi *multi,
if(first) if(first)
sigpipe_restore(&pipe_st); sigpipe_restore(&pipe_st);
*running_handles = multi->num_alive; *running_handles = (int)multi->num_alive;
return result; return result;
} }
@ -3624,7 +3626,7 @@ void Curl_expire(struct Curl_easy *data, timediff_t milli, expire_id id)
set = Curl_now(); set = Curl_now();
set.tv_sec += (time_t)(milli/1000); /* might be a 64 to 32 bit conversion */ set.tv_sec += (time_t)(milli/1000); /* might be a 64 to 32 bit conversion */
set.tv_usec += (unsigned int)(milli%1000)*1000; set.tv_usec += (int)(milli%1000)*1000;
if(set.tv_usec >= 1000000) { if(set.tv_usec >= 1000000) {
set.tv_sec++; set.tv_sec++;
@ -3738,12 +3740,12 @@ CURLMcode curl_multi_assign(struct Curl_multi *multi, curl_socket_t s,
size_t Curl_multi_max_host_connections(struct Curl_multi *multi) size_t Curl_multi_max_host_connections(struct Curl_multi *multi)
{ {
return multi ? multi->max_host_connections : 0; return multi ? (size_t)multi->max_host_connections : 0;
} }
size_t Curl_multi_max_total_connections(struct Curl_multi *multi) size_t Curl_multi_max_total_connections(struct Curl_multi *multi)
{ {
return multi ? multi->max_total_connections : 0; return multi ? (size_t)multi->max_total_connections : 0;
} }
/* /*

View File

@ -64,7 +64,7 @@ int curlx_nonblock(curl_socket_t sockfd, /* operate on this */
/* Windows */ /* Windows */
unsigned long flags = nonblock ? 1UL : 0UL; unsigned long flags = nonblock ? 1UL : 0UL;
return ioctlsocket(sockfd, FIONBIO, &flags); return ioctlsocket(sockfd, (long)FIONBIO, &flags);
#elif defined(HAVE_IOCTLSOCKET_CAMEL_FIONBIO) #elif defined(HAVE_IOCTLSOCKET_CAMEL_FIONBIO)

View File

@ -79,15 +79,15 @@ UNITTEST bool Curl_cidr6_match(const char *ipv6,
unsigned int bits) unsigned int bits)
{ {
#ifdef USE_IPV6 #ifdef USE_IPV6
int bytes; unsigned int bytes;
int rest; unsigned int rest;
unsigned char address[16]; unsigned char address[16];
unsigned char check[16]; unsigned char check[16];
if(!bits) if(!bits)
bits = 128; bits = 128;
bytes = bits/8; bytes = bits / 8;
rest = bits & 0x07; rest = bits & 0x07;
if(1 != Curl_inet_pton(AF_INET6, ipv6, address)) if(1 != Curl_inet_pton(AF_INET6, ipv6, address))
return FALSE; return FALSE;
@ -231,7 +231,7 @@ bool Curl_check_noproxy(const char *name, const char *no_proxy)
slash = strchr(check, '/'); slash = strchr(check, '/');
/* if the slash is part of this token, use it */ /* if the slash is part of this token, use it */
if(slash) { if(slash) {
bits = atoi(slash + 1); bits = (unsigned int)atoi(slash + 1);
*slash = 0; /* null terminate there */ *slash = 0; /* null terminate there */
} }
if(type == TYPE_IPV6) if(type == TYPE_IPV6)

View File

@ -270,7 +270,7 @@ CURLcode Curl_rand_alnum(struct Curl_easy *data, unsigned char *rnd,
size_t num) size_t num)
{ {
CURLcode result = CURLE_OK; CURLcode result = CURLE_OK;
const int alnumspace = sizeof(alnum) - 1; const unsigned int alnumspace = sizeof(alnum) - 1;
unsigned int r; unsigned int r;
DEBUGASSERT(num > 1); DEBUGASSERT(num > 1);
@ -283,7 +283,7 @@ CURLcode Curl_rand_alnum(struct Curl_easy *data, unsigned char *rnd,
return result; return result;
} while(r >= (UINT_MAX - UINT_MAX % alnumspace)); } while(r >= (UINT_MAX - UINT_MAX % alnumspace));
*rnd++ = alnum[r % alnumspace]; *rnd++ = (unsigned char)alnum[r % alnumspace];
num--; num--;
} }
*rnd = 0; *rnd = 0;

View File

@ -316,7 +316,9 @@ static CURLcode rtsp_do(struct Curl_easy *data, bool *done)
p_session_id = data->set.str[STRING_RTSP_SESSION_ID]; p_session_id = data->set.str[STRING_RTSP_SESSION_ID];
if(!p_session_id && if(!p_session_id &&
(rtspreq & ~(RTSPREQ_OPTIONS | RTSPREQ_DESCRIBE | RTSPREQ_SETUP))) { (rtspreq & ~(Curl_RtspReq)(RTSPREQ_OPTIONS |
RTSPREQ_DESCRIBE |
RTSPREQ_SETUP))) {
failf(data, "Refusing to issue an RTSP request [%s] without a session ID.", failf(data, "Refusing to issue an RTSP request [%s] without a session ID.",
p_request); p_request);
result = CURLE_BAD_FUNCTION_ARGUMENT; result = CURLE_BAD_FUNCTION_ARGUMENT;

View File

@ -226,7 +226,7 @@ int Curl_socket_check(curl_socket_t readfd0, /* two sockets to read from */
num++; num++;
} }
r = Curl_poll(pfd, num, timeout_ms); r = Curl_poll(pfd, (unsigned int)num, timeout_ms);
if(r <= 0) if(r <= 0)
return r; return r;

View File

@ -176,7 +176,7 @@ static CURLcode setstropt_interface(
} }
#define C_SSLVERSION_VALUE(x) (x & 0xffff) #define C_SSLVERSION_VALUE(x) (x & 0xffff)
#define C_SSLVERSION_MAX_VALUE(x) (x & 0xffff0000) #define C_SSLVERSION_MAX_VALUE(x) ((unsigned long)x & 0xffff0000)
static CURLcode protocol2num(const char *str, curl_prot_t *val) static CURLcode protocol2num(const char *str, curl_prot_t *val)
{ {
@ -501,7 +501,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
arg = va_arg(param, long); arg = va_arg(param, long);
version = C_SSLVERSION_VALUE(arg); version = C_SSLVERSION_VALUE(arg);
version_max = C_SSLVERSION_MAX_VALUE(arg); version_max = (long)C_SSLVERSION_MAX_VALUE(arg);
if(version < CURL_SSLVERSION_DEFAULT || if(version < CURL_SSLVERSION_DEFAULT ||
version == CURL_SSLVERSION_SSLv2 || version == CURL_SSLVERSION_SSLv2 ||
@ -968,7 +968,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
break; break;
case CURLOPT_HTTP09_ALLOWED: case CURLOPT_HTTP09_ALLOWED:
arg = va_arg(param, unsigned long); arg = (long)va_arg(param, unsigned long);
if(arg > 1L) if(arg > 1L)
return CURLE_BAD_FUNCTION_ARGUMENT; return CURLE_BAD_FUNCTION_ARGUMENT;
#ifdef USE_HYPER #ifdef USE_HYPER
@ -2546,7 +2546,7 @@ CURLcode Curl_vsetopt(struct Curl_easy *data, CURLoption option, va_list param)
#ifdef USE_SSH #ifdef USE_SSH
/* we only include SSH options if explicitly built to support SSH */ /* we only include SSH options if explicitly built to support SSH */
case CURLOPT_SSH_AUTH_TYPES: case CURLOPT_SSH_AUTH_TYPES:
data->set.ssh_auth_types = (unsigned int)va_arg(param, long); data->set.ssh_auth_types = (int)va_arg(param, long);
break; break;
case CURLOPT_SSH_PUBLIC_KEYFILE: case CURLOPT_SSH_PUBLIC_KEYFILE:

View File

@ -559,7 +559,7 @@ static void smb_format_message(struct Curl_easy *data, struct smb_header *h,
h->flags2 = smb_swap16(SMB_FLAGS2_IS_LONG_NAME | SMB_FLAGS2_KNOWS_LONG_NAME); h->flags2 = smb_swap16(SMB_FLAGS2_IS_LONG_NAME | SMB_FLAGS2_KNOWS_LONG_NAME);
h->uid = smb_swap16(smbc->uid); h->uid = smb_swap16(smbc->uid);
h->tid = smb_swap16(req->tid); h->tid = smb_swap16(req->tid);
pid = getpid(); pid = (unsigned int)getpid();
h->pid_high = smb_swap16((unsigned short)(pid >> 16)); h->pid_high = smb_swap16((unsigned short)(pid >> 16));
h->pid = smb_swap16((unsigned short) pid); h->pid = smb_swap16((unsigned short) pid);
} }

View File

@ -695,7 +695,7 @@ static CURLcode smtp_perform_mail(struct Curl_easy *data)
/* Prepare the mime data if some. */ /* Prepare the mime data if some. */
if(data->set.mimepost.kind != MIMEKIND_NONE) { if(data->set.mimepost.kind != MIMEKIND_NONE) {
/* Use the whole structure as data. */ /* Use the whole structure as data. */
data->set.mimepost.flags &= ~MIME_BODY_ONLY; data->set.mimepost.flags &= ~(unsigned int)MIME_BODY_ONLY;
/* Add external headers and mime version. */ /* Add external headers and mime version. */
curl_mime_headers(&data->set.mimepost, data->set.headers, 0); curl_mime_headers(&data->set.mimepost, data->set.headers, 0);

View File

@ -125,7 +125,7 @@ int Curl_blockread_all(struct Curl_cfilter *cf,
} }
nread = Curl_conn_cf_recv(cf->next, data, buf, buffersize, &err); nread = Curl_conn_cf_recv(cf->next, data, buf, buffersize, &err);
if(nread <= 0) { if(nread <= 0) {
result = err; result = (int)err;
if(CURLE_AGAIN == err) if(CURLE_AGAIN == err)
continue; continue;
if(err) { if(err) {

View File

@ -201,7 +201,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
if(gss_send_token.length) { if(gss_send_token.length) {
socksreq[0] = 1; /* GSS-API subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 1; /* authentication message type */ socksreq[1] = 1; /* authentication message type */
us_length = htons((short)gss_send_token.length); us_length = htons((unsigned short)gss_send_token.length);
memcpy(socksreq + 2, &us_length, sizeof(short)); memcpy(socksreq + 2, &us_length, sizeof(short));
nwritten = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, &code); nwritten = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, &code);
@ -406,7 +406,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
} }
gss_release_buffer(&gss_status, &gss_send_token); gss_release_buffer(&gss_status, &gss_send_token);
us_length = htons((short)gss_w_token.length); us_length = htons((unsigned short)gss_w_token.length);
memcpy(socksreq + 2, &us_length, sizeof(short)); memcpy(socksreq + 2, &us_length, sizeof(short));
} }

View File

@ -204,7 +204,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
if(sspi_send_token.cbBuffer) { if(sspi_send_token.cbBuffer) {
socksreq[0] = 1; /* GSS-API subnegotiation version */ socksreq[0] = 1; /* GSS-API subnegotiation version */
socksreq[1] = 1; /* authentication message type */ socksreq[1] = 1; /* authentication message type */
us_length = htons((short)sspi_send_token.cbBuffer); us_length = htons((unsigned short)sspi_send_token.cbBuffer);
memcpy(socksreq + 2, &us_length, sizeof(short)); memcpy(socksreq + 2, &us_length, sizeof(short));
written = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, &code); written = Curl_conn_cf_send(cf->next, data, (char *)socksreq, 4, &code);
@ -389,7 +389,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
*/ */
if(data->set.socks5_gssapi_nec) { if(data->set.socks5_gssapi_nec) {
us_length = htons((short)1); us_length = htons((unsigned short)1);
memcpy(socksreq + 2, &us_length, sizeof(short)); memcpy(socksreq + 2, &us_length, sizeof(short));
} }
else { else {
@ -472,7 +472,7 @@ CURLcode Curl_SOCKS5_gssapi_negotiate(struct Curl_cfilter *cf,
sspi_w_token[2].pvBuffer = NULL; sspi_w_token[2].pvBuffer = NULL;
sspi_w_token[2].cbBuffer = 0; sspi_w_token[2].cbBuffer = 0;
us_length = htons((short)sspi_send_token.cbBuffer); us_length = htons((unsigned short)sspi_send_token.cbBuffer);
memcpy(socksreq + 2, &us_length, sizeof(short)); memcpy(socksreq + 2, &us_length, sizeof(short));
} }

View File

@ -795,7 +795,7 @@ get_winapi_error(int err, char *buf, size_t buflen)
expect the local codepage (eg fprintf, failf, infof). expect the local codepage (eg fprintf, failf, infof).
FormatMessageW -> wcstombs is used for Windows CE compatibility. */ FormatMessageW -> wcstombs is used for Windows CE compatibility. */
if(FormatMessageW((FORMAT_MESSAGE_FROM_SYSTEM | if(FormatMessageW((FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS), NULL, err, FORMAT_MESSAGE_IGNORE_INSERTS), NULL, (DWORD)err,
LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL)) { LANG_NEUTRAL, wbuf, sizeof(wbuf)/sizeof(wchar_t), NULL)) {
size_t written = wcstombs(buf, wbuf, buflen - 1); size_t written = wcstombs(buf, wbuf, buflen - 1);
if(written != (size_t)-1) if(written != (size_t)-1)
@ -865,7 +865,7 @@ const char *Curl_strerror(int err, char *buf, size_t buflen)
#ifdef USE_WINSOCK #ifdef USE_WINSOCK
!get_winsock_error(err, buf, buflen) && !get_winsock_error(err, buf, buflen) &&
#endif #endif
!get_winapi_error((DWORD)err, buf, buflen)) !get_winapi_error(err, buf, buflen))
msnprintf(buf, buflen, "Unknown error %d (%#x)", err, err); msnprintf(buf, buflen, "Unknown error %d (%#x)", err, err);
} }
#else /* not Windows coming up */ #else /* not Windows coming up */
@ -944,7 +944,7 @@ const char *Curl_winapi_strerror(DWORD err, char *buf, size_t buflen)
*buf = '\0'; *buf = '\0';
#ifndef CURL_DISABLE_VERBOSE_STRINGS #ifndef CURL_DISABLE_VERBOSE_STRINGS
if(!get_winapi_error(err, buf, buflen)) { if(!get_winapi_error((int)err, buf, buflen)) {
msnprintf(buf, buflen, "Unknown error %lu (0x%08lX)", err, err); msnprintf(buf, buflen, "Unknown error %lu (0x%08lX)", err, err);
} }
#else #else

View File

@ -1544,7 +1544,7 @@ static CURLcode telnet_do(struct Curl_easy *data, bool *done)
while(keepon) { while(keepon) {
DEBUGF(infof(data, "telnet_do, poll %d fds", poll_cnt)); DEBUGF(infof(data, "telnet_do, poll %d fds", poll_cnt));
switch(Curl_poll(pfd, poll_cnt, interval_ms)) { switch(Curl_poll(pfd, (unsigned int)poll_cnt, interval_ms)) {
case -1: /* error, stop reading */ case -1: /* error, stop reading */
keepon = FALSE; keepon = FALSE;
continue; continue;

View File

@ -528,7 +528,7 @@ static CURLcode tftp_send_first(struct tftp_state_data *state,
senddata = sendto(state->sockfd, (void *)state->spacket.data, senddata = sendto(state->sockfd, (void *)state->spacket.data,
(SEND_TYPE_ARG3)sbytes, 0, (SEND_TYPE_ARG3)sbytes, 0,
&data->conn->remote_addr->sa_addr, &data->conn->remote_addr->sa_addr,
data->conn->remote_addr->addrlen); (curl_socklen_t)data->conn->remote_addr->addrlen);
if(senddata != (ssize_t)sbytes) { if(senddata != (ssize_t)sbytes) {
char buffer[STRERROR_LEN]; char buffer[STRERROR_LEN];
failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer))); failf(data, "%s", Curl_strerror(SOCKERRNO, buffer, sizeof(buffer)));
@ -738,7 +738,7 @@ static CURLcode tftp_tx(struct tftp_state_data *state, tftp_event_t event)
else { else {
/* Re-send the data packet */ /* Re-send the data packet */
sbytes = sendto(state->sockfd, (void *)state->spacket.data, sbytes = sendto(state->sockfd, (void *)state->spacket.data,
4 + state->sbytes, SEND_4TH_ARG, 4 + (SEND_TYPE_ARG3)state->sbytes, SEND_4TH_ARG,
(struct sockaddr *)&state->remote_addr, (struct sockaddr *)&state->remote_addr,
state->remote_addrlen); state->remote_addrlen);
/* Check all sbytes were sent */ /* Check all sbytes were sent */
@ -783,7 +783,7 @@ static CURLcode tftp_tx(struct tftp_state_data *state, tftp_event_t event)
} while(state->sbytes < state->blksize && cb); } while(state->sbytes < state->blksize && cb);
sbytes = sendto(state->sockfd, (void *) state->spacket.data, sbytes = sendto(state->sockfd, (void *) state->spacket.data,
4 + state->sbytes, SEND_4TH_ARG, 4 + (SEND_TYPE_ARG3)state->sbytes, SEND_4TH_ARG,
(struct sockaddr *)&state->remote_addr, (struct sockaddr *)&state->remote_addr,
state->remote_addrlen); state->remote_addrlen);
/* Check all sbytes were sent */ /* Check all sbytes were sent */
@ -809,7 +809,7 @@ static CURLcode tftp_tx(struct tftp_state_data *state, tftp_event_t event)
else { else {
/* Re-send the data packet */ /* Re-send the data packet */
sbytes = sendto(state->sockfd, (void *)state->spacket.data, sbytes = sendto(state->sockfd, (void *)state->spacket.data,
4 + state->sbytes, SEND_4TH_ARG, 4 + (SEND_TYPE_ARG3)state->sbytes, SEND_4TH_ARG,
(struct sockaddr *)&state->remote_addr, (struct sockaddr *)&state->remote_addr,
state->remote_addrlen); state->remote_addrlen);
/* Check all sbytes were sent */ /* Check all sbytes were sent */
@ -1032,7 +1032,7 @@ static CURLcode tftp_connect(struct Curl_easy *data, bool *done)
* IPv4 and IPv6... * IPv4 and IPv6...
*/ */
int rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr, int rc = bind(state->sockfd, (struct sockaddr *)&state->local_addr,
conn->remote_addr->addrlen); (curl_socklen_t)conn->remote_addr->addrlen);
if(rc) { if(rc) {
char buffer[STRERROR_LEN]; char buffer[STRERROR_LEN];
failf(data, "bind() failed; %s", failf(data, "bind() failed; %s",
@ -1110,7 +1110,7 @@ static CURLcode tftp_receive_packet(struct Curl_easy *data)
fromlen = sizeof(fromaddr); fromlen = sizeof(fromaddr);
state->rbytes = (int)recvfrom(state->sockfd, state->rbytes = (int)recvfrom(state->sockfd,
(void *)state->rpacket.data, (void *)state->rpacket.data,
state->blksize + 4, (RECV_TYPE_ARG3)state->blksize + 4,
0, 0,
(struct sockaddr *)&fromaddr, (struct sockaddr *)&fromaddr,
&fromlen); &fromlen);

View File

@ -51,8 +51,8 @@ struct curltime Curl_now(void)
#pragma warning(pop) #pragma warning(pop)
#endif #endif
now.tv_sec = milliseconds / 1000; now.tv_sec = (time_t)(milliseconds / 1000);
now.tv_usec = (milliseconds % 1000) * 1000; now.tv_usec = (int)((milliseconds % 1000) * 1000);
} }
return now; return now;
} }
@ -95,7 +95,7 @@ struct curltime Curl_now(void)
#endif #endif
(0 == clock_gettime(CLOCK_MONOTONIC_RAW, &tsnow))) { (0 == clock_gettime(CLOCK_MONOTONIC_RAW, &tsnow))) {
cnow.tv_sec = tsnow.tv_sec; cnow.tv_sec = tsnow.tv_sec;
cnow.tv_usec = (unsigned int)(tsnow.tv_nsec / 1000); cnow.tv_usec = (int)(tsnow.tv_nsec / 1000);
} }
else else
#endif #endif
@ -107,7 +107,7 @@ struct curltime Curl_now(void)
#endif #endif
(0 == clock_gettime(CLOCK_MONOTONIC, &tsnow))) { (0 == clock_gettime(CLOCK_MONOTONIC, &tsnow))) {
cnow.tv_sec = tsnow.tv_sec; cnow.tv_sec = tsnow.tv_sec;
cnow.tv_usec = (unsigned int)(tsnow.tv_nsec / 1000); cnow.tv_usec = (int)(tsnow.tv_nsec / 1000);
} }
/* /*
** Even when the configure process has truly detected monotonic clock ** Even when the configure process has truly detected monotonic clock
@ -118,7 +118,7 @@ struct curltime Curl_now(void)
else { else {
(void)gettimeofday(&now, NULL); (void)gettimeofday(&now, NULL);
cnow.tv_sec = now.tv_sec; cnow.tv_sec = now.tv_sec;
cnow.tv_usec = (unsigned int)now.tv_usec; cnow.tv_usec = (int)now.tv_usec;
} }
#else #else
else { else {

View File

@ -791,11 +791,11 @@ CURLcode Curl_follow(struct Curl_easy *data,
} }
DEBUGASSERT(data->state.uh); DEBUGASSERT(data->state.uh);
uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, uc = curl_url_set(data->state.uh, CURLUPART_URL, newurl, (unsigned int)
(type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME : ((type == FOLLOW_FAKE) ? CURLU_NON_SUPPORT_SCHEME :
((type == FOLLOW_REDIR) ? CURLU_URLENCODE : 0) | ((type == FOLLOW_REDIR) ? CURLU_URLENCODE : 0) |
CURLU_ALLOW_SPACE | CURLU_ALLOW_SPACE |
(data->set.path_as_is ? CURLU_PATH_AS_IS : 0)); (data->set.path_as_is ? CURLU_PATH_AS_IS : 0)));
if(uc) { if(uc) {
if(type != FOLLOW_FAKE) { if(type != FOLLOW_FAKE) {
failf(data, "The redirect target URL could not be parsed: %s", failf(data, "The redirect target URL could not be parsed: %s",

View File

@ -1643,7 +1643,7 @@ const struct Curl_handler *Curl_getn_scheme_handler(const char *scheme,
unsigned int c = 978; unsigned int c = 978;
while(l) { while(l) {
c <<= 5; c <<= 5;
c += Curl_raw_tolower(*s); c += (unsigned int)Curl_raw_tolower(*s);
s++; s++;
l--; l--;
} }
@ -1796,12 +1796,12 @@ static CURLcode parseurlandfillconn(struct Curl_easy *data,
if(!use_set_uh) { if(!use_set_uh) {
char *newurl; char *newurl;
uc = curl_url_set(uh, CURLUPART_URL, data->state.url, uc = curl_url_set(uh, CURLUPART_URL, data->state.url, (unsigned int)
CURLU_GUESS_SCHEME | (CURLU_GUESS_SCHEME |
CURLU_NON_SUPPORT_SCHEME | CURLU_NON_SUPPORT_SCHEME |
(data->set.disallow_username_in_url ? (data->set.disallow_username_in_url ?
CURLU_DISALLOW_USER : 0) | CURLU_DISALLOW_USER : 0) |
(data->set.path_as_is ? CURLU_PATH_AS_IS : 0)); (data->set.path_as_is ? CURLU_PATH_AS_IS : 0)));
if(uc) { if(uc) {
failf(data, "URL rejected: %s", curl_url_strerror(uc)); failf(data, "URL rejected: %s", curl_url_strerror(uc));
return Curl_uc_to_curlcode(uc); return Curl_uc_to_curlcode(uc);

View File

@ -206,7 +206,7 @@ static CURLUcode urlencode_str(struct dynbuf *o, const char *url,
size_t Curl_is_absolute_url(const char *url, char *buf, size_t buflen, size_t Curl_is_absolute_url(const char *url, char *buf, size_t buflen,
bool guess_scheme) bool guess_scheme)
{ {
int i = 0; size_t i = 0;
DEBUGASSERT(!buf || (buflen > MAX_SCHEME_LEN)); DEBUGASSERT(!buf || (buflen > MAX_SCHEME_LEN));
(void)buflen; /* only used in debug-builds */ (void)buflen; /* only used in debug-builds */
if(buf) if(buf)

View File

@ -258,10 +258,11 @@ char *curl_version(void)
api.ldapai_info_version = LDAP_API_INFO_VERSION; api.ldapai_info_version = LDAP_API_INFO_VERSION;
if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &api) == LDAP_OPT_SUCCESS) { if(ldap_get_option(NULL, LDAP_OPT_API_INFO, &api) == LDAP_OPT_SUCCESS) {
unsigned int patch = api.ldapai_vendor_version % 100; unsigned int patch = (unsigned int)(api.ldapai_vendor_version % 100);
unsigned int major = api.ldapai_vendor_version / 10000; unsigned int major = (unsigned int)(api.ldapai_vendor_version / 10000);
unsigned int minor = unsigned int minor =
((api.ldapai_vendor_version - major * 10000) - patch) / 100; (((unsigned int)api.ldapai_vendor_version - major * 10000)
- patch) / 100;
msnprintf(ldap_buf, sizeof(ldap_buf), "%s/%u.%u.%u", msnprintf(ldap_buf, sizeof(ldap_buf), "%s/%u.%u.%u",
api.ldapai_vendor_name, major, minor, patch); api.ldapai_vendor_name, major, minor, patch);
src[i++] = ldap_buf; src[i++] = ldap_buf;
@ -640,7 +641,7 @@ curl_version_info_data *curl_version_info(CURLversion stamp)
#ifdef USE_NGHTTP2 #ifdef USE_NGHTTP2
{ {
nghttp2_info *h2 = nghttp2_version(0); nghttp2_info *h2 = nghttp2_version(0);
version_info.nghttp2_ver_num = h2->version_num; version_info.nghttp2_ver_num = (unsigned int)h2->version_num;
version_info.nghttp2_version = h2->version_str; version_info.nghttp2_version = h2->version_str;
} }
#endif #endif

View File

@ -102,7 +102,7 @@ static unsigned char ws_frame_flags2op(int flags)
size_t i; size_t i;
for(i = 0; i < sizeof(WS_FRAMES)/sizeof(WS_FRAMES[0]); ++i) { for(i = 0; i < sizeof(WS_FRAMES)/sizeof(WS_FRAMES[0]); ++i) {
if(WS_FRAMES[i].flags & flags) if(WS_FRAMES[i].flags & flags)
return WS_FRAMES[i].proto_opcode; return (unsigned char)WS_FRAMES[i].proto_opcode;
} }
return 0; return 0;
} }
@ -560,7 +560,7 @@ static ssize_t ws_enc_write_head(struct Curl_easy *data,
return -1; return -1;
} }
opcode = ws_frame_flags2op(flags); opcode = ws_frame_flags2op((int)flags);
if(!opcode) { if(!opcode) {
failf(data, "WS: provided flags not recognized '%x'", flags); failf(data, "WS: provided flags not recognized '%x'", flags);
*err = CURLE_SEND_ERROR; *err = CURLE_SEND_ERROR;