From: Joe Perches <joe@perches.com>
To: Andrew Morton <akpm@linux-foundation.org>,
Andy Whitcroft <apw@canonical.com>,
Dwaipayan Ray <dwaipayanray1@gmail.com>,
Lukas Bulwahn <lukas.bulwahn@gmail.com>
Cc: Gustavo Silva <gustavoars@kernel.org>, linux-kernel@vger.kernel.org
Subject: [PATCH 1/2] checkpatch: Simplify creating search strings
Date: Wed, 13 Sep 2023 13:37:51 -0700 [thread overview]
Message-ID: <ef2ab1a00367e201879d9bff44a2e7e936b87a7e.1694636817.git.joe@perches.com> (raw)
In-Reply-To: <cover.1694636817.git.joe@perches.com>
Use join and map instead of loops.
Signed-off-by: Joe Perches <joe@perches.com>
---
scripts/checkpatch.pl | 34 +++++++---------------------------
1 file changed, 7 insertions(+), 27 deletions(-)
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 7d16f863edf1c..617f9e53bacdf 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -625,18 +625,8 @@ our $signature_tags = qr{(?xi:
our @link_tags = qw(Link Closes);
#Create a search and print patterns for all these strings to be used directly below
-our $link_tags_search = "";
-our $link_tags_print = "";
-foreach my $entry (@link_tags) {
- if ($link_tags_search ne "") {
- $link_tags_search .= '|';
- $link_tags_print .= ' or ';
- }
- $entry .= ':';
- $link_tags_search .= $entry;
- $link_tags_print .= "'$entry'";
-}
-$link_tags_search = "(?:${link_tags_search})";
+our $link_tags_search = '(?:' . join('|', @link_tags) . ')';
+our $link_tags_print = "'" . join("' or '", @link_tags) . "'";
our $tracing_logging_tags = qr{(?xi:
[=-]*> |
@@ -819,15 +809,10 @@ our @mode_permission_funcs = (
["__ATTR", 2],
);
-my $word_pattern = '\b[A-Z]?[a-z]{2,}\b';
-
#Create a search pattern for all these functions to speed up a loop below
-our $mode_perms_search = "";
-foreach my $entry (@mode_permission_funcs) {
- $mode_perms_search .= '|' if ($mode_perms_search ne "");
- $mode_perms_search .= $entry->[0];
-}
-$mode_perms_search = "(?:${mode_perms_search})";
+our $mode_perms_search = '(?:' . join('|', map{$_->[0]} @mode_permission_funcs) . ')';
+
+my $word_pattern = '\b[A-Z]?[a-z]{2,}\b';
our %deprecated_apis = (
"synchronize_rcu_bh" => "synchronize_rcu",
@@ -847,12 +832,7 @@ our %deprecated_apis = (
);
#Create a search pattern for all these strings to speed up a loop below
-our $deprecated_apis_search = "";
-foreach my $entry (keys %deprecated_apis) {
- $deprecated_apis_search .= '|' if ($deprecated_apis_search ne "");
- $deprecated_apis_search .= $entry;
-}
-$deprecated_apis_search = "(?:${deprecated_apis_search})";
+our $deprecated_apis_search = '(?:' . join('|', keys %deprecated_apis) . ')';
our $mode_perms_world_writable = qr{
S_IWUGO |
@@ -887,7 +867,7 @@ foreach my $entry (keys %mode_permission_string_types) {
$mode_perms_string_search .= '|' if ($mode_perms_string_search ne "");
$mode_perms_string_search .= $entry;
}
-our $single_mode_perms_string_search = "(?:${mode_perms_string_search})";
+our $single_mode_perms_string_search = '(?:' . join('|', keys %mode_permission_string_types) . ')';
our $multi_mode_perms_string_search = qr{
${single_mode_perms_string_search}
(?:\s*\|\s*${single_mode_perms_string_search})*
--
2.41.0
next prev parent reply other threads:[~2023-09-13 20:38 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-13 20:37 [PATCH 0/2] checkpatch: refactor and add new alloc w/ multiply tests Joe Perches
2023-09-13 20:37 ` Joe Perches [this message]
2023-09-13 20:37 ` [PATCH 2/2] checkpatch: Add a couple new alloc functions to alloc with multiplies check Joe Perches
2023-09-13 22:14 ` Gustavo A. R. Silva
2023-09-13 22:25 ` Joe Perches
2023-09-13 22:32 ` Gustavo A. R. Silva
2023-09-13 22:34 ` Joe Perches
2023-09-13 22:41 ` Gustavo A. R. Silva
2023-09-13 23:00 ` Joe Perches
2023-09-14 1:41 ` [PATCH V2 " Joe Perches
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ef2ab1a00367e201879d9bff44a2e7e936b87a7e.1694636817.git.joe@perches.com \
--to=joe@perches.com \
--cc=akpm@linux-foundation.org \
--cc=apw@canonical.com \
--cc=dwaipayanray1@gmail.com \
--cc=gustavoars@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=lukas.bulwahn@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®