aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/connect.c2
-rw-r--r--lib/ftp.c9
-rw-r--r--lib/ssluse.c5
-rw-r--r--lib/telnet.c1
-rw-r--r--lib/url.c2
-rw-r--r--lib/warnless.c19
-rw-r--r--lib/warnless.h2
-rw-r--r--src/tool_setopt.c2
8 files changed, 33 insertions, 9 deletions
diff --git a/lib/connect.c b/lib/connect.c
index 5747b0431..0affca288 100644
--- a/lib/connect.c
+++ b/lib/connect.c
@@ -95,7 +95,7 @@ static void
tcpkeepalive(struct SessionHandle *data,
int sockfd)
{
- int optval = data->set.tcp_keepalive;
+ int optval = data->set.tcp_keepalive?1:0;
/* only set IDLE and INTVL if setting KEEPALIVE is successful */
if(setsockopt(sockfd, SOL_SOCKET, SO_KEEPALIVE,
diff --git a/lib/ftp.c b/lib/ftp.c
index 1308696fc..f2583d036 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -4244,7 +4244,8 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
return CURLE_OUT_OF_MEMORY;
ftpc->dirs[0] = curl_easy_unescape(conn->data, slash_pos ? cur_pos : "/",
- slash_pos?(int)(slash_pos-cur_pos):1,
+ slash_pos ?
+ curlx_sztosi(slash_pos-cur_pos) : 1,
NULL);
if(!ftpc->dirs[0]) {
freedirs(ftpc);
@@ -4283,7 +4284,7 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
/* we skip empty path components, like "x//y" since the FTP command
CWD requires a parameter and a non-existent parameter a) doesn't
work on many servers and b) has no effect on the others. */
- int len = (int)(slash_pos - cur_pos + absolute_dir);
+ int len = curlx_sztosi(slash_pos - cur_pos + absolute_dir);
ftpc->dirs[ftpc->dirdepth] =
curl_easy_unescape(conn->data, cur_pos - absolute_dir, len, NULL);
if(!ftpc->dirs[ftpc->dirdepth]) { /* run out of memory ... */
@@ -4354,8 +4355,8 @@ CURLcode ftp_parse_url_path(struct connectdata *conn)
return CURLE_OUT_OF_MEMORY;
}
- dlen -= ftpc->file?(int)strlen(ftpc->file):0;
- if((dlen == (int)strlen(ftpc->prevpath)) &&
+ dlen -= ftpc->file?curlx_uztosi(strlen(ftpc->file)):0;
+ if((dlen == curlx_uztosi(strlen(ftpc->prevpath))) &&
strnequal(path, ftpc->prevpath, dlen)) {
infof(data, "Request has same path as previous transfer\n");
ftpc->cwddone = TRUE;
diff --git a/lib/ssluse.c b/lib/ssluse.c
index c3d5ec4c7..d31c2e07b 100644
--- a/lib/ssluse.c
+++ b/lib/ssluse.c
@@ -67,6 +67,7 @@
#include <x509v3.h>
#endif
+#include "warnless.h"
#include "curl_memory.h"
#include "non-ascii.h" /* for Curl_convert_from_utf8 prototype */
@@ -254,7 +255,7 @@ static int ossl_seed(struct SessionHandle *data)
if(!area)
return 3; /* out of memory */
- len = (int)strlen(area);
+ len = curlx_uztosi(strlen(area));
RAND_add(area, len, (len >> 1));
free(area); /* now remove the random junk */
@@ -1252,7 +1253,7 @@ static CURLcode verifyhost(struct connectdata *conn,
else /* not a UTF8 name */
j = ASN1_STRING_to_UTF8(&peer_CN, tmp);
- if(peer_CN && ((int)strlen((char *)peer_CN) != j)) {
+ if(peer_CN && (curlx_uztosi(strlen((char *)peer_CN)) != j)) {
/* there was a terminating zero before the end of string, this
cannot match and we return failure! */
failf(data, "SSL: illegal cert name field");
diff --git a/lib/telnet.c b/lib/telnet.c
index 0be795435..26fa3ac67 100644
--- a/lib/telnet.c
+++ b/lib/telnet.c
@@ -69,6 +69,7 @@
#include "select.h"
#include "strequal.h"
#include "rawstr.h"
+#include "warnless.h"
/* The last #include file should be: */
#include "memdebug.h"
diff --git a/lib/url.c b/lib/url.c
index 9660ce609..a78e27fb9 100644
--- a/lib/url.c
+++ b/lib/url.c
@@ -752,7 +752,7 @@ CURLcode Curl_init_userdefined(struct UserDefined *set)
/* tcp keepalives are disabled by default, but provide reasonable values for
* the interval and idle times.
*/
- set->tcp_keepalive = 0;
+ set->tcp_keepalive = FALSE;
set->tcp_keepintvl = 60;
set->tcp_keepidle = 60;
diff --git a/lib/warnless.c b/lib/warnless.c
index acdcb26ea..5fbc23400 100644
--- a/lib/warnless.c
+++ b/lib/warnless.c
@@ -287,6 +287,25 @@ size_t curlx_sotouz(curl_off_t sonum)
}
/*
+** signed ssize_t to signed int
+*/
+
+int curlx_sztosi(ssize_t sznum)
+{
+#ifdef __INTEL_COMPILER
+# pragma warning(push)
+# pragma warning(disable:810) /* conversion may lose significant bits */
+#endif
+
+ DEBUGASSERT(sznum >= 0);
+ return (int)(sznum & (ssize_t) CURL_MASK_SINT);
+
+#ifdef __INTEL_COMPILER
+# pragma warning(pop)
+#endif
+}
+
+/*
** signed int to unsigned size_t
*/
diff --git a/lib/warnless.h b/lib/warnless.h
index 9ba650f20..9f14e7865 100644
--- a/lib/warnless.h
+++ b/lib/warnless.h
@@ -40,6 +40,8 @@ ssize_t curlx_uztosz(size_t uznum);
size_t curlx_sotouz(curl_off_t sonum);
+int curlx_sztosi(ssize_t sznum);
+
size_t curlx_sitouz(int sinum);
#if defined(__INTEL_COMPILER) && defined(__unix__)
diff --git a/src/tool_setopt.c b/src/tool_setopt.c
index 5be4c3b39..d9e200e5f 100644
--- a/src/tool_setopt.c
+++ b/src/tool_setopt.c
@@ -389,7 +389,7 @@ CURLcode tool_setopt(CURL *curl, bool str, struct Configurable *config,
{
va_list arg;
char buf[256];
- const char *value;
+ const char *value = NULL;
bool remark = FALSE;
bool skip = FALSE;
bool escape = FALSE;