提交 194f66fc 编写于 作者: J Joe Perches 提交者: Linus Torvalds

checkpatch: add an index variable for fixed lines

Make the fix code a bit easier to read.

This should also start to allow an easier mechanism to insert/delete
lines eventually too.
Signed-off-by: NJoe Perches <joe@perches.com>
Cc: Andy Whitcroft <apw@canonical.com>
Cc: Dan Carpenter <dan.carpenter@oracle.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 c00df19a
master alk-4.19.24 alk-4.19.30 alk-4.19.34 alk-4.19.36 alk-4.19.43 alk-4.19.48 alk-4.19.57 ck-4.19.67 ck-4.19.81 ck-4.19.91 github/fork/deepanshu1422/fix-typo-in-comment github/fork/haosdent/fix-typo linux-next v4.19.91 v4.19.90 v4.19.89 v4.19.88 v4.19.87 v4.19.86 v4.19.85 v4.19.84 v4.19.83 v4.19.82 v4.19.81 v4.19.80 v4.19.79 v4.19.78 v4.19.77 v4.19.76 v4.19.75 v4.19.74 v4.19.73 v4.19.72 v4.19.71 v4.19.70 v4.19.69 v4.19.68 v4.19.67 v4.19.66 v4.19.65 v4.19.64 v4.19.63 v4.19.62 v4.19.61 v4.19.60 v4.19.59 v4.19.58 v4.19.57 v4.19.56 v4.19.55 v4.19.54 v4.19.53 v4.19.52 v4.19.51 v4.19.50 v4.19.49 v4.19.48 v4.19.47 v4.19.46 v4.19.45 v4.19.44 v4.19.43 v4.19.42 v4.19.41 v4.19.40 v4.19.39 v4.19.38 v4.19.37 v4.19.36 v4.19.35 v4.19.34 v4.19.33 v4.19.32 v4.19.31 v4.19.30 v4.19.29 v4.19.28 v4.19.27 v4.19.26 v4.19.25 v4.19.24 v4.19.23 v4.19.22 v4.19.21 v4.19.20 v4.19.19 v4.19.18 v4.19.17 v4.19.16 v4.19.15 v4.19.14 v4.19.13 v4.19.12 v4.19.11 v4.19.10 v4.19.9 v4.19.8 v4.19.7 v4.19.6 v4.19.5 v4.19.4 v4.19.3 v4.19.2 v4.19.1 v4.19 v4.19-rc8 v4.19-rc7 v4.19-rc6 v4.19-rc5 v4.19-rc4 v4.19-rc3 v4.19-rc2 v4.19-rc1 ck-release-21 ck-release-20 ck-release-19.2 ck-release-19.1 ck-release-19 ck-release-18 ck-release-17.2 ck-release-17.1 ck-release-17 ck-release-16 ck-release-15.1 ck-release-15 ck-release-14 ck-release-13.2 ck-release-13 ck-release-12 ck-release-11 ck-release-10 ck-release-9 ck-release-7 alk-release-15 alk-release-14 alk-release-13.2 alk-release-13 alk-release-12 alk-release-11 alk-release-10 alk-release-9 alk-release-7
无相关合并请求
...@@ -583,6 +583,8 @@ $chk_signoff = 0 if ($file); ...@@ -583,6 +583,8 @@ $chk_signoff = 0 if ($file);
my @rawlines = (); my @rawlines = ();
my @lines = (); my @lines = ();
my @fixed = (); my @fixed = ();
my $fixlinenr = -1;
my $vname; my $vname;
for my $filename (@ARGV) { for my $filename (@ARGV) {
my $FILE; my $FILE;
...@@ -611,6 +613,7 @@ for my $filename (@ARGV) { ...@@ -611,6 +613,7 @@ for my $filename (@ARGV) {
@rawlines = (); @rawlines = ();
@lines = (); @lines = ();
@fixed = (); @fixed = ();
$fixlinenr = -1;
} }
exit($exit); exit($exit);
...@@ -1801,8 +1804,10 @@ sub process { ...@@ -1801,8 +1804,10 @@ sub process {
$realcnt = 0; $realcnt = 0;
$linenr = 0; $linenr = 0;
$fixlinenr = -1;
foreach my $line (@lines) { foreach my $line (@lines) {
$linenr++; $linenr++;
$fixlinenr++;
my $sline = $line; #copy of $line my $sline = $line; #copy of $line
$sline =~ s/$;/ /g; #with comments as spaces $sline =~ s/$;/ /g; #with comments as spaces
...@@ -1933,7 +1938,7 @@ sub process { ...@@ -1933,7 +1938,7 @@ sub process {
if (WARN("BAD_SIGN_OFF", if (WARN("BAD_SIGN_OFF",
"Do not use whitespace before $ucfirst_sign_off\n" . $herecurr) && "Do not use whitespace before $ucfirst_sign_off\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] = $fixed[$fixlinenr] =
"$ucfirst_sign_off $email"; "$ucfirst_sign_off $email";
} }
} }
...@@ -1941,7 +1946,7 @@ sub process { ...@@ -1941,7 +1946,7 @@ sub process {
if (WARN("BAD_SIGN_OFF", if (WARN("BAD_SIGN_OFF",
"'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr) && "'$ucfirst_sign_off' is the preferred signature form\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] = $fixed[$fixlinenr] =
"$ucfirst_sign_off $email"; "$ucfirst_sign_off $email";
} }
...@@ -1950,7 +1955,7 @@ sub process { ...@@ -1950,7 +1955,7 @@ sub process {
if (WARN("BAD_SIGN_OFF", if (WARN("BAD_SIGN_OFF",
"Use a single space after $ucfirst_sign_off\n" . $herecurr) && "Use a single space after $ucfirst_sign_off\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] = $fixed[$fixlinenr] =
"$ucfirst_sign_off $email"; "$ucfirst_sign_off $email";
} }
} }
...@@ -2089,14 +2094,14 @@ sub process { ...@@ -2089,14 +2094,14 @@ sub process {
if (ERROR("DOS_LINE_ENDINGS", if (ERROR("DOS_LINE_ENDINGS",
"DOS line endings\n" . $herevet) && "DOS line endings\n" . $herevet) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/[\s\015]+$//; $fixed[$fixlinenr] =~ s/[\s\015]+$//;
} }
} elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) { } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
my $herevet = "$here\n" . cat_vet($rawline) . "\n"; my $herevet = "$here\n" . cat_vet($rawline) . "\n";
if (ERROR("TRAILING_WHITESPACE", if (ERROR("TRAILING_WHITESPACE",
"trailing whitespace\n" . $herevet) && "trailing whitespace\n" . $herevet) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\s+$//; $fixed[$fixlinenr] =~ s/\s+$//;
} }
$rpt_cleaners = 1; $rpt_cleaners = 1;
...@@ -2235,7 +2240,7 @@ sub process { ...@@ -2235,7 +2240,7 @@ sub process {
if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE", if (WARN("QUOTED_WHITESPACE_BEFORE_NEWLINE",
"unnecessary whitespace before a quoted newline\n" . $herecurr) && "unnecessary whitespace before a quoted newline\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/^(\+.*\".*)\s+\\n/$1\\n/; $fixed[$fixlinenr] =~ s/^(\+.*\".*)\s+\\n/$1\\n/;
} }
} }
...@@ -2272,7 +2277,7 @@ sub process { ...@@ -2272,7 +2277,7 @@ sub process {
if (ERROR("CODE_INDENT", if (ERROR("CODE_INDENT",
"code indent should use tabs where possible\n" . $herevet) && "code indent should use tabs where possible\n" . $herevet) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e;
} }
} }
...@@ -2282,9 +2287,9 @@ sub process { ...@@ -2282,9 +2287,9 @@ sub process {
if (WARN("SPACE_BEFORE_TAB", if (WARN("SPACE_BEFORE_TAB",
"please, no space before tabs\n" . $herevet) && "please, no space before tabs\n" . $herevet) &&
$fix) { $fix) {
while ($fixed[$linenr - 1] =~ while ($fixed[$fixlinenr] =~
s/(^\+.*) {8,8}+\t/$1\t\t/) {} s/(^\+.*) {8,8}+\t/$1\t\t/) {}
while ($fixed[$linenr - 1] =~ while ($fixed[$fixlinenr] =~
s/(^\+.*) +\t/$1\t/) {} s/(^\+.*) +\t/$1\t/) {}
} }
} }
...@@ -2318,7 +2323,7 @@ sub process { ...@@ -2318,7 +2323,7 @@ sub process {
if (CHK("PARENTHESIS_ALIGNMENT", if (CHK("PARENTHESIS_ALIGNMENT",
"Alignment should match open parenthesis\n" . $hereprev) && "Alignment should match open parenthesis\n" . $hereprev) &&
$fix && $line =~ /^\+/) { $fix && $line =~ /^\+/) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^\+[ \t]*/\+$goodtabindent/; s/^\+[ \t]*/\+$goodtabindent/;
} }
} }
...@@ -2329,7 +2334,7 @@ sub process { ...@@ -2329,7 +2334,7 @@ sub process {
if (CHK("SPACING", if (CHK("SPACING",
"No space is necessary after a cast\n" . $herecurr) && "No space is necessary after a cast\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/(\(\s*$Type\s*\))[ \t]+/$1/; s/(\(\s*$Type\s*\))[ \t]+/$1/;
} }
} }
...@@ -2433,7 +2438,7 @@ sub process { ...@@ -2433,7 +2438,7 @@ sub process {
if (WARN("LEADING_SPACE", if (WARN("LEADING_SPACE",
"please, no spaces at the start of a line\n" . $herevet) && "please, no spaces at the start of a line\n" . $herevet) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e; $fixed[$fixlinenr] =~ s/^\+([ \t]+)/"\+" . tabify($1)/e;
} }
} }
...@@ -2798,10 +2803,10 @@ sub process { ...@@ -2798,10 +2803,10 @@ sub process {
if (ERROR("C99_COMMENTS", if (ERROR("C99_COMMENTS",
"do not use C99 // comments\n" . $herecurr) && "do not use C99 // comments\n" . $herecurr) &&
$fix) { $fix) {
my $line = $fixed[$linenr - 1]; my $line = $fixed[$fixlinenr];
if ($line =~ /\/\/(.*)$/) { if ($line =~ /\/\/(.*)$/) {
my $comment = trim($1); my $comment = trim($1);
$fixed[$linenr - 1] =~ s@\/\/(.*)$@/\* $comment \*/@; $fixed[$fixlinenr] =~ s@\/\/(.*)$@/\* $comment \*/@;
} }
} }
} }
...@@ -2860,7 +2865,7 @@ sub process { ...@@ -2860,7 +2865,7 @@ sub process {
"do not initialise globals to 0 or NULL\n" . "do not initialise globals to 0 or NULL\n" .
$herecurr) && $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/; $fixed[$fixlinenr] =~ s/($Type\s*$Ident\s*(?:\s+$Modifier))*\s*=\s*(0|NULL|false)\s*;/$1;/;
} }
} }
# check for static initialisers. # check for static initialisers.
...@@ -2869,7 +2874,7 @@ sub process { ...@@ -2869,7 +2874,7 @@ sub process {
"do not initialise statics to 0 or NULL\n" . "do not initialise statics to 0 or NULL\n" .
$herecurr) && $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/; $fixed[$fixlinenr] =~ s/(\bstatic\s.*?)\s*=\s*(0|NULL|false)\s*;/$1;/;
} }
} }
...@@ -2899,7 +2904,7 @@ sub process { ...@@ -2899,7 +2904,7 @@ sub process {
if (ERROR("FUNCTION_WITHOUT_ARGS", if (ERROR("FUNCTION_WITHOUT_ARGS",
"Bad function definition - $1() should probably be $1(void)\n" . $herecurr) && "Bad function definition - $1() should probably be $1(void)\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/(\b($Type)\s+($Ident))\s*\(\s*\)/$2 $3(void)/; $fixed[$fixlinenr] =~ s/(\b($Type)\s+($Ident))\s*\(\s*\)/$2 $3(void)/;
} }
} }
...@@ -2908,7 +2913,7 @@ sub process { ...@@ -2908,7 +2913,7 @@ sub process {
if (WARN("DEFINE_PCI_DEVICE_TABLE", if (WARN("DEFINE_PCI_DEVICE_TABLE",
"Prefer struct pci_device_id over deprecated DEFINE_PCI_DEVICE_TABLE\n" . $herecurr) && "Prefer struct pci_device_id over deprecated DEFINE_PCI_DEVICE_TABLE\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b(?:static\s+|)DEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=\s*/static const struct pci_device_id $1\[\] = /; $fixed[$fixlinenr] =~ s/\b(?:static\s+|)DEFINE_PCI_DEVICE_TABLE\s*\(\s*(\w+)\s*\)\s*=\s*/static const struct pci_device_id $1\[\] = /;
} }
} }
...@@ -2945,7 +2950,7 @@ sub process { ...@@ -2945,7 +2950,7 @@ sub process {
my $sub_from = $ident; my $sub_from = $ident;
my $sub_to = $ident; my $sub_to = $ident;
$sub_to =~ s/\Q$from\E/$to/; $sub_to =~ s/\Q$from\E/$to/;
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s@\Q$sub_from\E@$sub_to@; s@\Q$sub_from\E@$sub_to@;
} }
} }
...@@ -2973,7 +2978,7 @@ sub process { ...@@ -2973,7 +2978,7 @@ sub process {
my $sub_from = $match; my $sub_from = $match;
my $sub_to = $match; my $sub_to = $match;
$sub_to =~ s/\Q$from\E/$to/; $sub_to =~ s/\Q$from\E/$to/;
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s@\Q$sub_from\E@$sub_to@; s@\Q$sub_from\E@$sub_to@;
} }
} }
...@@ -3035,7 +3040,7 @@ sub process { ...@@ -3035,7 +3040,7 @@ sub process {
if (WARN("PREFER_PR_LEVEL", if (WARN("PREFER_PR_LEVEL",
"Prefer pr_warn(... to pr_warning(...\n" . $herecurr) && "Prefer pr_warn(... to pr_warning(...\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\bpr_warning\b/pr_warn/; s/\bpr_warning\b/pr_warn/;
} }
} }
...@@ -3069,7 +3074,7 @@ sub process { ...@@ -3069,7 +3074,7 @@ sub process {
if (WARN("SPACING", if (WARN("SPACING",
"missing space after $1 definition\n" . $herecurr) && "missing space after $1 definition\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^(.\s*(?:typedef\s+)?(?:enum|union|struct)(?:\s+$Ident){1,2})([=\{])/$1 $2/; s/^(.\s*(?:typedef\s+)?(?:enum|union|struct)(?:\s+$Ident){1,2})([=\{])/$1 $2/;
} }
} }
...@@ -3139,7 +3144,7 @@ sub process { ...@@ -3139,7 +3144,7 @@ sub process {
} }
if (show_type("SPACING") && $fix) { if (show_type("SPACING") && $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^(.\s*)$Declare\s*\(\s*\*\s*$Ident\s*\)\s*\(/$1 . $declare . $post_declare_space . '(*' . $funcname . ')('/ex; s/^(.\s*)$Declare\s*\(\s*\*\s*$Ident\s*\)\s*\(/$1 . $declare . $post_declare_space . '(*' . $funcname . ')('/ex;
} }
} }
...@@ -3156,7 +3161,7 @@ sub process { ...@@ -3156,7 +3161,7 @@ sub process {
if (ERROR("BRACKET_SPACE", if (ERROR("BRACKET_SPACE",
"space prohibited before open square bracket '['\n" . $herecurr) && "space prohibited before open square bracket '['\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^(\+.*?)\s+\[/$1\[/; s/^(\+.*?)\s+\[/$1\[/;
} }
} }
...@@ -3191,7 +3196,7 @@ sub process { ...@@ -3191,7 +3196,7 @@ sub process {
if (WARN("SPACING", if (WARN("SPACING",
"space prohibited between function name and open parenthesis '('\n" . $herecurr) && "space prohibited between function name and open parenthesis '('\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\b$name\s+\(/$name\(/; s/\b$name\s+\(/$name\(/;
} }
} }
...@@ -3459,8 +3464,8 @@ sub process { ...@@ -3459,8 +3464,8 @@ sub process {
$fixed_line = $fixed_line . $fix_elements[$#elements]; $fixed_line = $fixed_line . $fix_elements[$#elements];
} }
if ($fix && $line_fixed && $fixed_line ne $fixed[$linenr - 1]) { if ($fix && $line_fixed && $fixed_line ne $fixed[$fixlinenr]) {
$fixed[$linenr - 1] = $fixed_line; $fixed[$fixlinenr] = $fixed_line;
} }
...@@ -3471,7 +3476,7 @@ sub process { ...@@ -3471,7 +3476,7 @@ sub process {
if (WARN("SPACING", if (WARN("SPACING",
"space prohibited before semicolon\n" . $herecurr) && "space prohibited before semicolon\n" . $herecurr) &&
$fix) { $fix) {
1 while $fixed[$linenr - 1] =~ 1 while $fixed[$fixlinenr] =~
s/^(\+.*\S)\s+;/$1;/; s/^(\+.*\S)\s+;/$1;/;
} }
} }
...@@ -3504,7 +3509,7 @@ sub process { ...@@ -3504,7 +3509,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space required before the open brace '{'\n" . $herecurr) && "space required before the open brace '{'\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/^(\+.*(?:do|\))){/$1 {/; $fixed[$fixlinenr] =~ s/^(\+.*(?:do|\))){/$1 {/;
} }
} }
...@@ -3522,7 +3527,7 @@ sub process { ...@@ -3522,7 +3527,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space required after that close brace '}'\n" . $herecurr) && "space required after that close brace '}'\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/}((?!(?:,|;|\)))\S)/} $1/; s/}((?!(?:,|;|\)))\S)/} $1/;
} }
} }
...@@ -3532,7 +3537,7 @@ sub process { ...@@ -3532,7 +3537,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space prohibited after that open square bracket '['\n" . $herecurr) && "space prohibited after that open square bracket '['\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\[\s+/\[/; s/\[\s+/\[/;
} }
} }
...@@ -3540,7 +3545,7 @@ sub process { ...@@ -3540,7 +3545,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space prohibited before that close square bracket ']'\n" . $herecurr) && "space prohibited before that close square bracket ']'\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\s+\]/\]/; s/\s+\]/\]/;
} }
} }
...@@ -3551,7 +3556,7 @@ sub process { ...@@ -3551,7 +3556,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space prohibited after that open parenthesis '('\n" . $herecurr) && "space prohibited after that open parenthesis '('\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\(\s+/\(/; s/\(\s+/\(/;
} }
} }
...@@ -3561,7 +3566,8 @@ sub process { ...@@ -3561,7 +3566,8 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space prohibited before that close parenthesis ')'\n" . $herecurr) && "space prohibited before that close parenthesis ')'\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ print("fixlinenr: <$fixlinenr> fixed[fixlinenr]: <$fixed[$fixlinenr]>\n");
$fixed[$fixlinenr] =~
s/\s+\)/\)/; s/\s+\)/\)/;
} }
} }
...@@ -3580,7 +3586,7 @@ sub process { ...@@ -3580,7 +3586,7 @@ sub process {
if (WARN("INDENTED_LABEL", if (WARN("INDENTED_LABEL",
"labels should not be indented\n" . $herecurr) && "labels should not be indented\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^(.)\s+/$1/; s/^(.)\s+/$1/;
} }
} }
...@@ -3642,7 +3648,7 @@ sub process { ...@@ -3642,7 +3648,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"space required before the open parenthesis '('\n" . $herecurr) && "space required before the open parenthesis '('\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\b(if|while|for|switch)\(/$1 \(/; s/\b(if|while|for|switch)\(/$1 \(/;
} }
} }
...@@ -3779,7 +3785,7 @@ sub process { ...@@ -3779,7 +3785,7 @@ sub process {
"Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) && "Avoid gcc v4.3+ binary constant extension: <$var>\n" . $herecurr) &&
$fix) { $fix) {
my $hexval = sprintf("0x%x", oct($var)); my $hexval = sprintf("0x%x", oct($var));
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/\b$var\b/$hexval/; s/\b$var\b/$hexval/;
} }
} }
...@@ -3815,7 +3821,7 @@ sub process { ...@@ -3815,7 +3821,7 @@ sub process {
if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION", if (WARN("WHITESPACE_AFTER_LINE_CONTINUATION",
"Whitespace after \\ makes next lines useless\n" . $herecurr) && "Whitespace after \\ makes next lines useless\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\s+$//; $fixed[$fixlinenr] =~ s/\s+$//;
} }
} }
...@@ -4170,7 +4176,7 @@ sub process { ...@@ -4170,7 +4176,7 @@ sub process {
WARN("MISPLACED_INIT", WARN("MISPLACED_INIT",
"$attr should be placed after $var\n" . $herecurr))) && "$attr should be placed after $var\n" . $herecurr))) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/(\bstatic\s+(?:const\s+)?)(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*([=;])\s*/"$1" . trim(string_find_replace($2, "\\s*$attr\\s*", " ")) . " " . trim(string_find_replace($3, "\\s*$attr\\s*", "")) . " $attr" . ("$4" eq ";" ? ";" : " = ")/e; $fixed[$fixlinenr] =~ s/(\bstatic\s+(?:const\s+)?)(?:$attr\s+)?($NonptrTypeWithAttr)\s+(?:$attr\s+)?($Ident(?:\[[^]]*\])?)\s*([=;])\s*/"$1" . trim(string_find_replace($2, "\\s*$attr\\s*", " ")) . " " . trim(string_find_replace($3, "\\s*$attr\\s*", "")) . " $attr" . ("$4" eq ";" ? ";" : " = ")/e;
} }
} }
} }
...@@ -4184,7 +4190,7 @@ sub process { ...@@ -4184,7 +4190,7 @@ sub process {
if (ERROR("INIT_ATTRIBUTE", if (ERROR("INIT_ATTRIBUTE",
"Use of const init definition must use ${attr_prefix}initconst\n" . $herecurr) && "Use of const init definition must use ${attr_prefix}initconst\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/$InitAttributeData/${attr_prefix}initconst/; s/$InitAttributeData/${attr_prefix}initconst/;
} }
} }
...@@ -4195,12 +4201,12 @@ sub process { ...@@ -4195,12 +4201,12 @@ sub process {
if (ERROR("INIT_ATTRIBUTE", if (ERROR("INIT_ATTRIBUTE",
"Use of $attr requires a separate use of const\n" . $herecurr) && "Use of $attr requires a separate use of const\n" . $herecurr) &&
$fix) { $fix) {
my $lead = $fixed[$linenr - 1] =~ my $lead = $fixed[$fixlinenr] =~
/(^\+\s*(?:static\s+))/; /(^\+\s*(?:static\s+))/;
$lead = rtrim($1); $lead = rtrim($1);
$lead = "$lead " if ($lead !~ /^\+$/); $lead = "$lead " if ($lead !~ /^\+$/);
$lead = "${lead}const "; $lead = "${lead}const ";
$fixed[$linenr - 1] =~ s/(^\+\s*(?:static\s+))/$lead/; $fixed[$fixlinenr] =~ s/(^\+\s*(?:static\s+))/$lead/;
} }
} }
...@@ -4213,7 +4219,7 @@ sub process { ...@@ -4213,7 +4219,7 @@ sub process {
if (WARN("CONSTANT_CONVERSION", if (WARN("CONSTANT_CONVERSION",
"$constant_func should be $func\n" . $herecurr) && "$constant_func should be $func\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b$constant_func\b/$func/g; $fixed[$fixlinenr] =~ s/\b$constant_func\b/$func/g;
} }
} }
...@@ -4263,7 +4269,7 @@ sub process { ...@@ -4263,7 +4269,7 @@ sub process {
if (ERROR("SPACING", if (ERROR("SPACING",
"exactly one space required after that #$1\n" . $herecurr) && "exactly one space required after that #$1\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ $fixed[$fixlinenr] =~
s/^(.\s*\#\s*(ifdef|ifndef|elif))\s{2,}/$1 /; s/^(.\s*\#\s*(ifdef|ifndef|elif))\s{2,}/$1 /;
} }
...@@ -4311,7 +4317,7 @@ sub process { ...@@ -4311,7 +4317,7 @@ sub process {
if (WARN("INLINE", if (WARN("INLINE",
"plain inline is preferred over $1\n" . $herecurr) && "plain inline is preferred over $1\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b(__inline__|__inline)\b/inline/; $fixed[$fixlinenr] =~ s/\b(__inline__|__inline)\b/inline/;
} }
} }
...@@ -4336,7 +4342,7 @@ sub process { ...@@ -4336,7 +4342,7 @@ sub process {
if (WARN("PREFER_PRINTF", if (WARN("PREFER_PRINTF",
"__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) && "__printf(string-index, first-to-check) is preferred over __attribute__((format(printf, string-index, first-to-check)))\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex; $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*printf\s*,\s*(.*)\)\s*\)\s*\)/"__printf(" . trim($1) . ")"/ex;
} }
} }
...@@ -4347,7 +4353,7 @@ sub process { ...@@ -4347,7 +4353,7 @@ sub process {
if (WARN("PREFER_SCANF", if (WARN("PREFER_SCANF",
"__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) && "__scanf(string-index, first-to-check) is preferred over __attribute__((format(scanf, string-index, first-to-check)))\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex; $fixed[$fixlinenr] =~ s/\b__attribute__\s*\(\s*\(\s*format\s*\(\s*scanf\s*,\s*(.*)\)\s*\)\s*\)/"__scanf(" . trim($1) . ")"/ex;
} }
} }
...@@ -4362,7 +4368,7 @@ sub process { ...@@ -4362,7 +4368,7 @@ sub process {
if (WARN("SIZEOF_PARENTHESIS", if (WARN("SIZEOF_PARENTHESIS",
"sizeof $1 should be sizeof($1)\n" . $herecurr) && "sizeof $1 should be sizeof($1)\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex; $fixed[$fixlinenr] =~ s/\bsizeof\s+((?:\*\s*|)$Lval|$Type(?:\s+$Lval|))/"sizeof(" . trim($1) . ")"/ex;
} }
} }
...@@ -4385,7 +4391,7 @@ sub process { ...@@ -4385,7 +4391,7 @@ sub process {
if (WARN("PREFER_SEQ_PUTS", if (WARN("PREFER_SEQ_PUTS",
"Prefer seq_puts to seq_printf\n" . $herecurr) && "Prefer seq_puts to seq_printf\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\bseq_printf\b/seq_puts/; $fixed[$fixlinenr] =~ s/\bseq_printf\b/seq_puts/;
} }
} }
} }
...@@ -4414,7 +4420,7 @@ sub process { ...@@ -4414,7 +4420,7 @@ sub process {
if (WARN("PREFER_ETHER_ADDR_COPY", if (WARN("PREFER_ETHER_ADDR_COPY",
"Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . $herecurr) && "Prefer ether_addr_copy() over memcpy() if the Ethernet addresses are __aligned(2)\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/; $fixed[$fixlinenr] =~ s/\bmemcpy\s*\(\s*$FuncArg\s*,\s*$FuncArg\s*\,\s*ETH_ALEN\s*\)/ether_addr_copy($2, $7)/;
} }
} }
...@@ -4502,7 +4508,7 @@ sub process { ...@@ -4502,7 +4508,7 @@ sub process {
if (CHK("AVOID_EXTERNS", if (CHK("AVOID_EXTERNS",
"extern prototypes should be avoided in .h files\n" . $herecurr) && "extern prototypes should be avoided in .h files\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/(.*)\bextern\b\s*(.*)/$1$2/; $fixed[$fixlinenr] =~ s/(.*)\bextern\b\s*(.*)/$1$2/;
} }
} }
...@@ -4579,7 +4585,7 @@ sub process { ...@@ -4579,7 +4585,7 @@ sub process {
if (WARN("ALLOC_WITH_MULTIPLY", if (WARN("ALLOC_WITH_MULTIPLY",
"Prefer $newfunc over $oldfunc with multiply\n" . $herecurr) && "Prefer $newfunc over $oldfunc with multiply\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)/$1 . ' = ' . "$newfunc(" . trim($r1) . ', ' . trim($r2)/e; $fixed[$fixlinenr] =~ s/\b($Lval)\s*\=\s*(?:$balanced_parens)?\s*(k[mz]alloc)\s*\(\s*($FuncArg)\s*\*\s*($FuncArg)/$1 . ' = ' . "$newfunc(" . trim($r1) . ', ' . trim($r2)/e;
} }
} }
...@@ -4603,7 +4609,7 @@ sub process { ...@@ -4603,7 +4609,7 @@ sub process {
if (WARN("ONE_SEMICOLON", if (WARN("ONE_SEMICOLON",
"Statements terminations use 1 semicolon\n" . $herecurr) && "Statements terminations use 1 semicolon\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/(\s*;\s*){2,}$/;/g; $fixed[$fixlinenr] =~ s/(\s*;\s*){2,}$/;/g;
} }
} }
...@@ -4651,7 +4657,7 @@ sub process { ...@@ -4651,7 +4657,7 @@ sub process {
if (WARN("USE_FUNC", if (WARN("USE_FUNC",
"__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr) && "__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr) &&
$fix) { $fix) {
$fixed[$linenr - 1] =~ s/\b__FUNCTION__\b/__func__/g; $fixed[$fixlinenr] =~ s/\b__FUNCTION__\b/__func__/g;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册
反馈
建议
客服 返回
顶部