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: Joe 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: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Joe Perches 2014-08-06 16:11:03 -07:00 committed by Linus Torvalds
parent c00df19a50
commit 194f66fc95

View 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) {
@rawlines = (); @rawlines = ();
@lines = (); @lines = ();
@fixed = (); @fixed = ();
$fixlinenr = -1;
} }
exit($exit); exit($exit);
@ -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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
"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 {
"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 {
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 {
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 {
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 {
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 {
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 {
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 {
} }
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 {
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 {
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 {
$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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
"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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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 {
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;
} }
} }