summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Raad <Marcel.Raad@teamviewer.com>2018-07-09 18:43:55 +0200
committerMarcel Raad <Marcel.Raad@teamviewer.com>2018-08-21 18:53:45 +0200
commit60776a0515c2a8f572902ad5bcc9f63eeaeafa84 (patch)
tree79eb46200916b3c1c4df98fca8c2cb79d2c87acc
parentd5c0351055d5709da8f3e16c91348092fdb481aa (diff)
downloadcurl-60776a0515c2a8f572902ad5bcc9f63eeaeafa84.tar.gz
curl-compilers: enable -Wbad-function-cast on GCC
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
-rw-r--r--docs/examples/sslbackend.c4
-rw-r--r--m4/curl-compilers.m41
-rw-r--r--src/tool_cb_see.c4
-rw-r--r--tests/libtest/lib650.c5
-rw-r--r--tests/server/sockfilt.c3
5 files changed, 12 insertions, 5 deletions
diff --git a/docs/examples/sslbackend.c b/docs/examples/sslbackend.c
index 1483dcc2e..c1489a9aa 100644
--- a/docs/examples/sslbackend.c
+++ b/docs/examples/sslbackend.c
@@ -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);
diff --git a/m4/curl-compilers.m4 b/m4/curl-compilers.m4
index c1ae6a559..63e45f3e0 100644
--- a/m4/curl-compilers.m4
+++ b/m4/curl-compilers.m4
@@ -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
diff --git a/src/tool_cb_see.c b/src/tool_cb_see.c
index 621d440f4..061b2bb3d 100644
--- a/src/tool_cb_see.c
+++ b/src/tool_cb_see.c
@@ -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;
diff --git a/tests/libtest/lib650.c b/tests/libtest/lib650.c
index 056270cfb..79d60b624 100644
--- a/tests/libtest/lib650.c
+++ b/tests/libtest/lib650.c
@@ -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,
diff --git a/tests/server/sockfilt.c b/tests/server/sockfilt.c
index 2fb947f15..10a16ef00 100644
--- a/tests/server/sockfilt.c
+++ b/tests/server/sockfilt.c
@@ -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;