]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
curl-compilers: enable -Wbad-function-cast on GCC
authorMarcel Raad <Marcel.Raad@teamviewer.com>
Mon, 9 Jul 2018 16:43:55 +0000 (18:43 +0200)
committerMarcel Raad <Marcel.Raad@teamviewer.com>
Tue, 21 Aug 2018 16:53:45 +0000 (18:53 +0200)
This warning used to be enabled only for clang as it's a bit stricter
on GCC. Silence the remaining occurrences and enable it on GCC too.

Closes https://github.com/curl/curl/pull/2747

docs/examples/sslbackend.c
m4/curl-compilers.m4
src/tool_cb_see.c
tests/libtest/lib650.c
tests/server/sockfilt.c

index 1483dcc2ea82cccb73915cf6c15d5a2a07d0e363..c1489a9aa999d34d1ede30f0f3f1f44a06ac0701 100644 (file)
@@ -57,9 +57,9 @@ int main(int argc, char **argv)
     return 0;
   }
   else if(isdigit(*name)) {
-    curl_sslbackend id = (curl_sslbackend)atoi(name);
+    int id = atoi(name);
 
-    result = curl_global_sslset(id, NULL, NULL);
+    result = curl_global_sslset((curl_sslbackend)id, NULL, NULL);
   }
   else
     result = curl_global_sslset(-1, name, NULL);
index c1ae6a559b944df282e3c0e62581c424662b0af1..63e45f3e0e4636777210db9db803ee798e839a67 100644 (file)
@@ -977,6 +977,7 @@ AC_DEFUN([CURL_SET_COMPILER_WARNING_OPTS], [
           dnl Only gcc 2.95 or later
           if test "$compiler_num" -ge "295"; then
             tmp_CFLAGS="$tmp_CFLAGS -Wno-long-long"
+            tmp_CFLAGS="$tmp_CFLAGS -Wbad-function-cast"
           fi
           #
           dnl Only gcc 2.96 or later
index 621d440f4f9bd2ae8ed745e234b4bd0e96dae862..061b2bb3ddcb3f714046e0765a3e89205aefe6e6 100644 (file)
@@ -118,10 +118,12 @@ int tool_seek_cb(void *userdata, curl_off_t offset, int whence)
 
 int tool_ftruncate64(int fd, curl_off_t where)
 {
+  intptr_t handle = _get_osfhandle(fd);
+
   if(_lseeki64(fd, where, SEEK_SET) < 0)
     return -1;
 
-  if(!SetEndOfFile((HANDLE)_get_osfhandle(fd)))
+  if(!SetEndOfFile((HANDLE)handle))
     return -1;
 
   return 0;
index 056270cfb7c2668953818635d9837632fc54da1f..79d60b624ee7cfaade4ad8e254134014ea9c09ea 100644 (file)
@@ -62,6 +62,7 @@ int test(char *URL)
   struct curl_forms formarray[3];
   size_t formlength = 0;
   char flbuf[32];
+  long contentlength = 0;
 
   if(curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
     fprintf(stderr, "curl_global_init() failed\n");
@@ -94,11 +95,13 @@ int test(char *URL)
     goto test_cleanup;
   }
 
+  contentlength = (long)(strlen(data) - 1);
+
   /* Use a form array for the non-copy test. */
   formarray[0].option = CURLFORM_PTRCONTENTS;
   formarray[0].value = data;
   formarray[1].option = CURLFORM_CONTENTSLENGTH;
-  formarray[1].value = (char *) strlen(data) - 1;
+  formarray[1].value = (char *)(size_t)contentlength;
   formarray[2].option = CURLFORM_END;
   formarray[2].value = NULL;
   formrc = curl_formadd(&formpost,
index 2fb947f15ee716c7e4da32e6d8b5a6f8f433bf9e..10a16ef00fbfce71d550439de0858f630c460147 100644 (file)
@@ -782,8 +782,9 @@ static int select_ws(int nfds, fd_set *readfds, fd_set *writefds,
             wsa++;
           }
           else {
+            curl_socket_t socket = curlx_sitosk(fds);
             WSACloseEvent(wsaevent);
-            handle = (HANDLE) curlx_sitosk(fds);
+            handle = (HANDLE) socket;
             handle = select_ws_wait(handle, waitevent);
             handles[nfd] = handle;
             data[thd].thread = handle;