fix some compiler warnings
authorYang Tse <yangsita@gmail.com>
Fri, 16 Mar 2012 18:06:34 +0000 (19:06 +0100)
committerYang Tse <yangsita@gmail.com>
Fri, 16 Mar 2012 18:06:34 +0000 (19:06 +0100)
lib/connect.c
lib/ftp.c
lib/ssluse.c
lib/telnet.c
lib/url.c
lib/warnless.c
lib/warnless.h
src/tool_setopt.c

index 5747b04318a7e51058b5a77fc6c463df64bfd14f..0affca288447967fa0eef76b6c285d29e93f37c1 100644 (file)
@@ -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,
index 1308696fc9ea90ec4464f0d9d6bd059b49f9dd3b..f2583d0366bbc6b027895907d98a63809e697f4b 100644 (file)
--- 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;
index c3d5ec4c7a1ece98a5fcc288b9ea7822c070f419..d31c2e07bf26769f43776283f0f99f1544e35c0b 100644 (file)
@@ -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");
index 0be7954350827d4459b729bc28070b436fcb8fca..26fa3ac67e0645f26dc01407b8718121306afce2 100644 (file)
@@ -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"
index 9660ce60936d0c362c9c2408dd67af71eba8607a..a78e27fb94c8ad93d3e1835ba80617305e06df13 100644 (file)
--- 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;
 
index acdcb26eaa9bbfb773b749ee74cce692cb748317..5fbc234003074ceb9d22554207066588df6e36e9 100644 (file)
@@ -286,6 +286,25 @@ size_t curlx_sotouz(curl_off_t sonum)
 #endif
 }
 
+/*
+** 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
 */
index 9ba650f20de344dea24fe2dfc99ba399e7020591..9f14e78650124bc3b761163277727a3b650e15a1 100644 (file)
@@ -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__)
index 5be4c3b3904e2843719551a308a7edbb6289a32a..d9e200e5f8acd7c6ca6464e4dd854e375aa1abc3 100644 (file)
@@ -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;