1
0
mirror of https://github.com/moparisthebest/curl synced 2024-11-13 13:05:03 -05:00

Silence GCC 8 cast-function-type warnings

On Windows, casting between unrelated function types is fine and
sometimes even necessary, so just use an intermediate cast to
(void (*) (void)) to silence the warning as described in [0].

[0] https://gcc.gnu.org/onlinedocs/gcc-8.1.0/gcc/Warning-Options.html

Closes https://github.com/curl/curl/pull/2860
This commit is contained in:
Marcel Raad 2018-08-09 17:19:24 +02:00
parent 2a278fd735
commit 25d2a1bae7
No known key found for this signature in database
GPG Key ID: 33C416EFAE4D6F02
4 changed files with 13 additions and 3 deletions

View File

@ -39,6 +39,7 @@
#include "sendf.h" #include "sendf.h"
#include "strdup.h" #include "strdup.h"
#include "rand.h" #include "rand.h"
#include "warnless.h"
/* The last 3 #include files should be in this order */ /* The last 3 #include files should be in this order */
#include "curl_printf.h" #include "curl_printf.h"
#include "curl_memory.h" #include "curl_memory.h"
@ -878,7 +879,8 @@ CURLcode Curl_getformdata(struct Curl_easy *data,
compatibility: use of "-" pseudo file name should be avoided. */ compatibility: use of "-" pseudo file name should be avoided. */
result = curl_mime_data_cb(part, (curl_off_t) -1, result = curl_mime_data_cb(part, (curl_off_t) -1,
(curl_read_callback) fread, (curl_read_callback) fread,
(curl_seek_callback) fseek, CURLX_FUNCTION_CAST(curl_seek_callback,
fseek),
NULL, (void *) stdin); NULL, (void *) stdin);
} }
else else

View File

@ -26,6 +26,7 @@
#include <curl/curl.h> #include <curl/curl.h>
#include "system_win32.h" #include "system_win32.h"
#include "warnless.h"
/* The last #include files should be: */ /* The last #include files should be: */
#include "curl_memory.h" #include "curl_memory.h"
@ -280,7 +281,9 @@ HMODULE Curl_load_library(LPCTSTR filename)
/* Attempt to find LoadLibraryEx() which is only available on Windows 2000 /* Attempt to find LoadLibraryEx() which is only available on Windows 2000
and above */ and above */
pLoadLibraryEx = (LOADLIBRARYEX_FN) GetProcAddress(hKernel32, LOADLIBARYEX); pLoadLibraryEx =
CURLX_FUNCTION_CAST(LOADLIBRARYEX_FN,
(GetProcAddress(hKernel32, LOADLIBARYEX)));
/* Detect if there's already a path in the filename and load the library if /* Detect if there's already a path in the filename and load the library if
there is. Note: Both back slashes and forward slashes have been supported there is. Note: Both back slashes and forward slashes have been supported

View File

@ -1357,7 +1357,9 @@ static CURLcode telnet_do(struct connectdata *conn, bool *done)
} }
/* Grab a pointer to WSACreateEvent */ /* Grab a pointer to WSACreateEvent */
create_event_func = (WSOCK2_EVENT) GetProcAddress(wsock2, "WSACreateEvent"); create_event_func =
CURLX_FUNCTION_CAST(WSOCK2_EVENT,
(GetProcAddress(wsock2, "WSACreateEvent")));
if(create_event_func == NULL) { if(create_event_func == NULL) {
failf(data, "failed to find WSACreateEvent function (%u)", GetLastError()); failf(data, "failed to find WSACreateEvent function (%u)", GetLastError());
FreeLibrary(wsock2); FreeLibrary(wsock2);

View File

@ -26,6 +26,9 @@
#include <curl/curl.h> /* for curl_socket_t */ #include <curl/curl.h> /* for curl_socket_t */
#endif #endif
#define CURLX_FUNCTION_CAST(target_type, func) \
(target_type)(void (*) (void))(func)
unsigned short curlx_ultous(unsigned long ulnum); unsigned short curlx_ultous(unsigned long ulnum);
unsigned char curlx_ultouc(unsigned long ulnum); unsigned char curlx_ultouc(unsigned long ulnum);