mirror of https://github.com/moparisthebest/curl
typecheck-gcc: add support for CURLINFO_OFF_T
typecheck-gcc expected curl_socket_t instead of curl_off_t arguments for CURLINFO_OFF_T. Detected by test1521, unfortunately only when run locally. Closes https://github.com/curl/curl/pull/1592
This commit is contained in:
parent
f541f7b94a
commit
ec512074cc
|
@ -110,7 +110,7 @@ __extension__ ({ \
|
||||||
/* FIXME: don't allow const pointers */
|
/* FIXME: don't allow const pointers */
|
||||||
#define curl_easy_getinfo(handle, info, arg) \
|
#define curl_easy_getinfo(handle, info, arg) \
|
||||||
__extension__ ({ \
|
__extension__ ({ \
|
||||||
__typeof__(info) _curl_info = info; \
|
__typeof__(info) _curl_info = info; \
|
||||||
if(__builtin_constant_p(_curl_info)) { \
|
if(__builtin_constant_p(_curl_info)) { \
|
||||||
if(_curl_is_string_info(_curl_info)) \
|
if(_curl_is_string_info(_curl_info)) \
|
||||||
if(!_curl_is_arr((arg), char *)) \
|
if(!_curl_is_arr((arg), char *)) \
|
||||||
|
@ -130,9 +130,12 @@ __extension__ ({ \
|
||||||
if(_curl_is_certinfo_info(_curl_info)) \
|
if(_curl_is_certinfo_info(_curl_info)) \
|
||||||
if(!_curl_is_arr((arg), struct curl_certinfo *)) \
|
if(!_curl_is_arr((arg), struct curl_certinfo *)) \
|
||||||
_curl_easy_getinfo_err_curl_certinfo(); \
|
_curl_easy_getinfo_err_curl_certinfo(); \
|
||||||
if(_curl_is_socket_info(_curl_info)) \
|
if(_curl_is_socket_info(_curl_info)) \
|
||||||
if(!_curl_is_arr((arg), curl_socket_t)) \
|
if(!_curl_is_arr((arg), curl_socket_t)) \
|
||||||
_curl_easy_getinfo_err_curl_socket(); \
|
_curl_easy_getinfo_err_curl_socket(); \
|
||||||
|
if(_curl_is_off_t_info(_curl_info)) \
|
||||||
|
if(!_curl_is_arr((arg), curl_off_t)) \
|
||||||
|
_curl_easy_getinfo_err_curl_off_t(); \
|
||||||
} \
|
} \
|
||||||
curl_easy_getinfo(handle, _curl_info, arg); \
|
curl_easy_getinfo(handle, _curl_info, arg); \
|
||||||
})
|
})
|
||||||
|
@ -218,6 +221,8 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_certinfo,
|
||||||
"'struct curl_certinfo *' for this info")
|
"'struct curl_certinfo *' for this info")
|
||||||
_CURL_WARNING(_curl_easy_getinfo_err_curl_socket,
|
_CURL_WARNING(_curl_easy_getinfo_err_curl_socket,
|
||||||
"curl_easy_getinfo expects a pointer to curl_socket_t for this info")
|
"curl_easy_getinfo expects a pointer to curl_socket_t for this info")
|
||||||
|
_CURL_WARNING(_curl_easy_getinfo_err_curl_off_t,
|
||||||
|
"curl_easy_getinfo expects a pointer to curl_off_t for this info")
|
||||||
|
|
||||||
/* groups of curl_easy_setops options that take the same type of argument */
|
/* groups of curl_easy_setops options that take the same type of argument */
|
||||||
|
|
||||||
|
@ -391,7 +396,11 @@ _CURL_WARNING(_curl_easy_getinfo_err_curl_socket,
|
||||||
|
|
||||||
/* true if info expects a pointer to struct curl_socket_t argument */
|
/* true if info expects a pointer to struct curl_socket_t argument */
|
||||||
#define _curl_is_socket_info(info) \
|
#define _curl_is_socket_info(info) \
|
||||||
(CURLINFO_SOCKET < (info))
|
(CURLINFO_SOCKET < (info) && (info) < CURLINFO_OFF_T)
|
||||||
|
|
||||||
|
/* true if info expects a pointer to curl_off_t argument */
|
||||||
|
#define _curl_is_off_t_info(info) \
|
||||||
|
(CURLINFO_OFF_T < (info))
|
||||||
|
|
||||||
|
|
||||||
/* typecheck helpers -- check whether given expression has requested type*/
|
/* typecheck helpers -- check whether given expression has requested type*/
|
||||||
|
|
Loading…
Reference in New Issue