checksrc: ensure using ifdef/ifndef when possible, fix fallouts

Follow-up to 89771d19d5 #18018

Closes #20065
This commit is contained in:
Viktor Szakats 2025-12-21 15:45:53 +01:00
parent e8415a8296
commit 4ad87f2cb8
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
9 changed files with 30 additions and 11 deletions

View file

@ -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>

View file

@ -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

View file

@ -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,

View file

@ -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),

View file

@ -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),

View file

@ -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) {

View file

@ -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}) {

View file

@ -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

View file

@ -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