checksrc: ensure using `ifdef`/`ifndef` when possible, fix fallouts
No binary (build failed)
—
(log yok)
| @@ -30,7 +30,7 @@ | |
| #include "amigaos.h" | |
| #ifdef HAVE_PROTO_BSDSOCKET_H | |
| - | # if defined(__amigaos4__) |
| + | # ifdef __amigaos4__ |
| # include <bsdsocket/socketbasetags.h> | |
| # elif !defined(USE_AMISSL) | |
| # include <amitcp/socketbasetags.h> | |
| @@ -521,7 +521,7 @@ static CURLcode setopt_bool(struct Curl_easy *data, CURLoption option, | |
| case CURLOPT_HTTP09_ALLOWED: | |
| s->http09_allowed = enabled; | |
| break; | |
| - | #if !defined(CURL_DISABLE_COOKIES) |
| + | #ifndef CURL_DISABLE_COOKIES |
| case CURLOPT_COOKIESESSION: | |
| /* | |
| * Set this option to TRUE to start a new "cookie session". It will | |
| @@ -1527,7 +1527,7 @@ const struct Curl_handler *Curl_getn_scheme_handler(const char *scheme, | |
| #else | |
| NULL, | |
| #endif | |
| - | #if defined(USE_SSH) |
| + | #ifdef USE_SSH |
| &Curl_handler_scp, | |
| #else | |
| NULL, | |
| @@ -204,7 +204,7 @@ static CURLcode sftp_error_to_CURLE(int err) | |
| return CURLE_SSH; | |
| } | |
| - | #if !defined(CURL_DISABLE_VERBOSE_STRINGS) |
| + | #ifndef CURL_DISABLE_VERBOSE_STRINGS |
| static const char *myssh_statename(sshstate state) | |
| { | |
| static const char * const names[] = { | |
| @@ -287,7 +287,7 @@ static void myssh_set_state(struct Curl_easy *data, | |
| struct ssh_conn *sshc, | |
| sshstate nowstate) | |
| { | |
| - | #if !defined(CURL_DISABLE_VERBOSE_STRINGS) |
| + | #ifndef CURL_DISABLE_VERBOSE_STRINGS |
| if(sshc->state != nowstate) { | |
| CURL_TRC_SSH(data, "[%s] -> [%s]", | |
| myssh_statename(sshc->state), | |
| @@ -274,7 +274,7 @@ static LIBSSH2_FREE_FUNC(my_libssh2_free) | |
| Curl_cfree(ptr); | |
| } | |
| - | #if !defined(CURL_DISABLE_VERBOSE_STRINGS) |
| + | #ifndef CURL_DISABLE_VERBOSE_STRINGS |
| static const char *myssh_statename(sshstate state) | |
| { | |
| static const char * const names[] = { | |
| @@ -357,7 +357,7 @@ static void myssh_set_state(struct Curl_easy *data, | |
| struct ssh_conn *sshc, | |
| sshstate nowstate) | |
| { | |
| - | #if !defined(CURL_DISABLE_VERBOSE_STRINGS) |
| + | #ifndef CURL_DISABLE_VERBOSE_STRINGS |
| if(sshc->state != nowstate) { | |
| CURL_TRC_SSH(data, "[%s] -> [%s]", | |
| myssh_statename(sshc->state), | |
| @@ -225,7 +225,7 @@ CURLcode Curl_vtls_apple_verify(struct Curl_cfilter *cf, | |
| #endif | |
| #ifdef SUPPORTS_SecTrustEvaluateWithError | |
| - | #if defined(HAVE_BUILTIN_AVAILABLE) |
| + | #ifdef HAVE_BUILTIN_AVAILABLE |
| if(__builtin_available(macOS 10.14, iOS 12, tvOS 12, watchOS 5, *)) { | |
| #else | |
| if(1) { | |
| @@ -162,6 +162,7 @@ my %warnings = ( | |
| 'EXCLAMATIONSPACE' => 'Whitespace after exclamation mark in expression', | |
| 'FIXME' => 'FIXME or TODO comment', | |
| 'FOPENMODE' => 'fopen needs a macro for the mode string', | |
| + | 'IFDEFSINGLE', => 'use ifdef/ifndef for single macro checks', |
| 'INCLUDEDUP', => 'same file is included again', | |
| 'INDENTATION' => 'wrong start column for code', | |
| 'LONGLINE' => "Line longer than $max_column", | |
| @@ -658,6 +659,11 @@ sub scanfile { | |
| $line, length($1), $file, $l, "\/\/ comment"); | |
| } | |
| + | if($l =~ /^\s*#\s*if\s+!?\s*defined\([a-zA-Z0-9_]+\)$/) { |
| + | checkwarn("IFDEFSINGLE", |
| + | $line, length($1), $file, $l, "use ifdef/ifndef for single macro checks"); |
| + | } |
| + | |
| if($l =~ /^(\#\s*include\s+)([\">].*[>}"])/) { | |
| my ($pre, $path) = ($1, $2); | |
| if($includes{$path}) { | |
| @@ -45,7 +45,7 @@ curl_socket_t tool_socket_open_mptcp_cb(void *clientp, | |
| (void)purpose; | |
| if(protocol == IPPROTO_TCP) | |
| - | #if defined(__linux__) |
| + | #ifdef __linux__ |
| # ifndef IPPROTO_MPTCP | |
| # define IPPROTO_MPTCP 262 | |
| # endif | |
| @@ -79,6 +79,13 @@ void startfunc(int a, int b) { | |
| if(sprintf(buffer, "%s", moo)) {} | |
| *buffer_len = (ssize_t)alsobad((char *)buffer, NULL, 16); | |
| + | # if defined(SINGLE_MACRO) |
| + | #if ! defined(__macro_10) |
| + | #elif !defined(TESTMACRO) |
| + | #endif |
| + | #endif |
| + | #endif |
| + | |
| // CPP comment ? | |
| /* comment does not end | |
| @@ -205,7 +212,13 @@ void startfunc(int a, int b) { | |
| ./%LOGDIR/code1185.c:62:25: warning: use of alsobad is banned (BANNEDFUNC) | |
| *buffer_len = (ssize_t)alsobad((char *)buffer, NULL, 16); | |
| ^ | |
| - | ./%LOGDIR/code1185.c:64:2: warning: // comment (CPPCOMMENTS) |
| + | ./%LOGDIR/code1185.c:64:1: warning: use ifdef/ifndef for single macro checks (IFDEFSINGLE) |
| + | # if defined(SINGLE_MACRO) |
| + | ^ |
| + | ./%LOGDIR/code1185.c:65:1: warning: use ifdef/ifndef for single macro checks (IFDEFSINGLE) |
| + | #if ! defined(__macro_10) |
| + | ^ |
| + | ./%LOGDIR/code1185.c:71:2: warning: // comment (CPPCOMMENTS) |
| // CPP comment ? | |
| ^ | |
| ./%LOGDIR/code1185.c:1:1: error: Missing copyright statement (COPYRIGHT) | |
| @@ -214,7 +227,7 @@ void startfunc(int a, int b) { | |
| ./%LOGDIR/code1185.c:1:1: error: Missing closing comment (OPENCOMMENT) | |
| %SP | |
| ^ | |
| - | checksrc: 0 errors and 42 warnings |
| + | checksrc: 0 errors and 44 warnings |
| </stdout> | |
| <errorcode> | |
| 5 | |