History

checkpatch: move repeated word test

Currently this test only works on .[ch] files. Move the test to check more file types and the commit log.

Joe Perches committed 6 years ago

Commit 310cd061 parent 3e89ad81 file · +36 −36Browse files

Showing the changes to scripts/checkpatch.pl (1 of 1 file). Show all

Unified · Split

scripts/checkpatch.pl+36−36
@@ -2991,6 +2991,42 @@ sub process { · 2990 unmodified lines
2991 }2991 }
2992 }2992 }
2993 2993
2994# check for repeated words separated by a single space
2995 if ($rawline =~ /^\+/ || $in_commit_log) {
2996 while ($rawline =~ /\b($word_pattern) (?=($word_pattern))/g) {
2997
2998 my $first = $1;
2999 my $second = $2;
3000
3001 if ($first =~ /(?:struct|union|enum)/) {
3002 pos($rawline) += length($first) + length($second) + 1;
3003 next;
3004 }
3005
3006 next if ($first ne $second);
3007 next if ($first eq 'long');
3008
3009 if (WARN("REPEATED_WORD",
3010 "Possible repeated word: '$first'\n" . $herecurr) &&
3011 $fix) {
3012 $fixed[$fixlinenr] =~ s/\b$first $second\b/$first/;
3013 }
3014 }
3015
3016 # if it's a repeated word on consecutive lines in a comment block
3017 if ($prevline =~ /$;+\s*$/ &&
3018 $prevrawline =~ /($word_pattern)\s*$/) {
3019 my $last_word = $1;
3020 if ($rawline =~ /^\+\s*\*\s*$last_word /) {
3021 if (WARN("REPEATED_WORD",
3022 "Possible repeated word: '$last_word'\n" . $hereprev) &&
3023 $fix) {
3024 $fixed[$fixlinenr] =~ s/(\+\s*\*\s*)$last_word /$1/;
3025 }
3026 }
3027 }
3028 }
3029
2994# ignore non-hunk lines and lines being removed3030# ignore non-hunk lines and lines being removed
2995 next if (!$hunk_line || $line =~ /^-/);3031 next if (!$hunk_line || $line =~ /^-/);
2996 3032
@@ -3314,42 +3350,6 @@ sub process { · 317 unmodified lines
3314 }3350 }
3315 }3351 }
3316 3352
3317# check for repeated words separated by a single space
3318 if ($rawline =~ /^\+/) {
3319 while ($rawline =~ /\b($word_pattern) (?=($word_pattern))/g) {
3320
3321 my $first = $1;
3322 my $second = $2;
3323
3324 if ($first =~ /(?:struct|union|enum)/) {
3325 pos($rawline) += length($first) + length($second) + 1;
3326 next;
3327 }
3328
3329 next if ($first ne $second);
3330 next if ($first eq 'long');
3331
3332 if (WARN("REPEATED_WORD",
3333 "Possible repeated word: '$first'\n" . $herecurr) &&
3334 $fix) {
3335 $fixed[$fixlinenr] =~ s/\b$first $second\b/$first/;
3336 }
3337 }
3338
3339 # if it's a repeated word on consecutive lines in a comment block
3340 if ($prevline =~ /$;+\s*$/ &&
3341 $prevrawline =~ /($word_pattern)\s*$/) {
3342 my $last_word = $1;
3343 if ($rawline =~ /^\+\s*\*\s*$last_word /) {
3344 if (WARN("REPEATED_WORD",
3345 "Possible repeated word: '$last_word'\n" . $hereprev) &&
3346 $fix) {
3347 $fixed[$fixlinenr] =~ s/(\+\s*\*\s*)$last_word /$1/;
3348 }
3349 }
3350 }
3351 }
3352
3353# check for space before tabs.3353# check for space before tabs.
3354 if ($rawline =~ /^\+/ && $rawline =~ / \t/) {3354 if ($rawline =~ /^\+/ && $rawline =~ / \t/) {
3355 my $herevet = "$here\n" . cat_vet($rawline) . "\n";3355 my $herevet = "$here\n" . cat_vet($rawline) . "\n";

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t