1. Use group capture regexp for file mode test to improve code
   readability.

2. The 'scripts/' directory test on filenames can be excluded
   as it has become obsolete because there are many source
   files that are not scripts in this directory and its
   subdirectories.

3. Replace unnecessary group capture regexp with non-capturing
   group.

Suggested-by: Joe Perches <j...@perches.com>
Signed-off-by: Ujjwal Kumar <ujjwalkumar0...@gmail.com>
---
 scripts/checkpatch.pl | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index fab38b493cef..aa84999917b5 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -2678,10 +2678,11 @@ sub process {
                }

 # Check for incorrect file permissions
-               if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
+               if ($line =~ /^new (?:file )?mode (\d+)$/) {
+                       my $mode = substr($1, -3);
                        my $permhere = $here . "FILE: $realfile\n";
-                       if ($realfile !~ m@scripts/@ &&
-                           $realfile !~ /\.(py|pl|awk|sh)$/) {
+                       if ($mode =~ /[1357]/ &&
+                           $realfile !~ /\.(?:py|pl|awk|sh)$/) {
                                ERROR("EXECUTE_PERMISSIONS",
                                      "do not set execute permissions for 
source files\n" . $permhere);
                        }

base-commit: d67bc7812221606e1886620a357b13f906814af7
--
2.26.2

Reply via email to