if ($c eq "\t") {
$res .= ' ';
$n++;
- for (; ($n % 8) != 0; $n++) {
+ for (; ($n % 4) != 0; $n++) {
$res .= ' ';
}
next;
# check we are in a valid source file if not then ignore this hunk
next if ($realfile !~ /\.(h|c|s|S|pl|sh)$/);
-#100 column limit
+#120 column limit
if ($line =~ /^\+/ && $prevrawline !~ /\/\*\*/ &&
$rawline !~ /^.\s*\*\s*\@$Ident\s/ &&
!($line =~ /^\+\s*$logFunctions\s*\(\s*(?:(KERN_\S+\s*|[^"]*))?"[X\t]*"\s*(?:|,|\)\s*;)\s*$/ ||
$line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
- $length > 100)
+ $length > 120)
{
WARN("LONG_LINE",
- "line over 100 characters\n" . $herecurr);
+ "line over 120 characters\n" . $herecurr);
}
# check for spaces before a quoted newline
# Check for switch () and associated case and default
# statements should be at the same indent.
- if ($line=~/\bswitch\s*\(.*\)/) {
- my $err = '';
- my $sep = '';
- my @ctx = ctx_block_outer($linenr, $realcnt);
- shift(@ctx);
- for my $ctx (@ctx) {
- my ($clen, $cindent) = line_stats($ctx);
- if ($ctx =~ /^\+\s*(case\s+|default:)/ &&
- $indent != $cindent) {
- $err .= "$sep$ctx\n";
- $sep = '';
- } else {
- $sep = "[...]\n";
- }
- }
- if ($err ne '') {
- ERROR("SWITCH_CASE_INDENT_LEVEL",
- "switch and case should be at the same indent\n$hereline$err");
- }
- }
+# if ($line=~/\bswitch\s*\(.*\)/) {
+# my $err = '';
+# my $sep = '';
+# my @ctx = ctx_block_outer($linenr, $realcnt);
+# shift(@ctx);
+# for my $ctx (@ctx) {
+# my ($clen, $cindent) = line_stats($ctx);
+# if ($ctx =~ /^\+\s*(case\s+|default:)/ &&
+# $indent != $cindent) {
+# $err .= "$sep$ctx\n";
+# $sep = '';
+# } else {
+# $sep = "[...]\n";
+# }
+# }
+# if ($err ne '') {
+# ERROR("SWITCH_CASE_INDENT_LEVEL",
+# "switch and case should be at the same indent\n$hereline$err");
+# }
+# }
# if/while/etc brace do not go on next line, unless defining a do while loop,
# or if that brace on the next line is for something else
#print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n";
- if ($check && (($sindent % 8) != 0 ||
+ if ($check && (($sindent % 4) != 0 ||
($sindent <= $indent && $s ne ''))) {
WARN("SUSPECT_CODE_INDENT",
"suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n");
# check for new typedefs, only function parameters and sparse annotations
# make sense.
- if ($line =~ /\btypedef\s/ &&
- $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ &&
- $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
- $line !~ /\b$typeTypedefs\b/ &&
- $line !~ /\b__bitwise(?:__|)\b/) {
- WARN("NEW_TYPEDEFS",
- "do not add new typedefs\n" . $herecurr);
- }
+# if ($line =~ /\btypedef\s/ &&
+# $line !~ /\btypedef\s+$Type\s*\(\s*\*?$Ident\s*\)\s*\(/ &&
+# $line !~ /\btypedef\s+$Type\s+$Ident\s*\(/ &&
+# $line !~ /\b$typeTypedefs\b/ &&
+# $line !~ /\b__bitwise(?:__|)\b/) {
+# WARN("NEW_TYPEDEFS",
+# "do not add new typedefs\n" . $herecurr);
+# }
# * goes on variable not on type
# (char*[ const])
}
# no volatiles please
- my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b};
- if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) {
- WARN("VOLATILE",
- "Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr);
- }
+# my $asm_volatile = qr{\b(__asm__|asm)\s+(__volatile__|volatile)\b};
+# if ($line =~ /\bvolatile\b/ && $line !~ /$asm_volatile/) {
+# WARN("VOLATILE",
+# "Use of volatile is usually wrong: see Documentation/volatile-considered-harmful.txt\n" . $herecurr);
+# }
# warn about #if 0
if ($line =~ /^.\s*\#\s*if\s+0\b/) {
}
# Check for __attribute__ packed, prefer __packed
- if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) {
- WARN("PREFER_PACKED",
- "__packed is preferred over __attribute__((packed))\n" . $herecurr);
- }
+# if ($line =~ /\b__attribute__\s*\(\s*\(.*\bpacked\b/) {
+# WARN("PREFER_PACKED",
+# "__packed is preferred over __attribute__((packed))\n" . $herecurr);
+# }
# Check for __attribute__ aligned, prefer __aligned
- if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) {
- WARN("PREFER_ALIGNED",
- "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr);
- }
+# if ($line =~ /\b__attribute__\s*\(\s*\(.*aligned/) {
+# WARN("PREFER_ALIGNED",
+# "__aligned(size) is preferred over __attribute__((aligned(size)))\n" . $herecurr);
+# }
# check for sizeof(&)
if ($line =~ /\bsizeof\s*\(\s*\&/) {
}
# check for new externs in .c files.
- if ($realfile =~ /\.c$/ && defined $stat &&
- $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
- {
- my $function_name = $1;
- my $paren_space = $2;
-
- my $s = $stat;
- if (defined $cond) {
- substr($s, 0, length($cond), '');
- }
- if ($s =~ /^\s*;/ &&
- $function_name ne 'uninitialized_var')
- {
- WARN("AVOID_EXTERNS",
- "externs should be avoided in .c files\n" . $herecurr);
- }
-
- if ($paren_space =~ /\n/) {
- WARN("FUNCTION_ARGUMENTS",
- "arguments for function declarations should follow identifier\n" . $herecurr);
- }
-
- } elsif ($realfile =~ /\.c$/ && defined $stat &&
- $stat =~ /^.\s*extern\s+/)
- {
- WARN("AVOID_EXTERNS",
- "externs should be avoided in .c files\n" . $herecurr);
- }
+# if ($realfile =~ /\.c$/ && defined $stat &&
+# $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
+# {
+# my $function_name = $1;
+# my $paren_space = $2;
+#
+# my $s = $stat;
+# if (defined $cond) {
+# substr($s, 0, length($cond), '');
+# }
+# if ($s =~ /^\s*;/ &&
+# $function_name ne 'uninitialized_var')
+# {
+# WARN("AVOID_EXTERNS",
+# "externs should be avoided in .c files\n" . $herecurr);
+# }
+#
+# if ($paren_space =~ /\n/) {
+# WARN("FUNCTION_ARGUMENTS",
+# "arguments for function declarations should follow identifier\n" . $herecurr);
+# }
+#
+# } elsif ($realfile =~ /\.c$/ && defined $stat &&
+# $stat =~ /^.\s*extern\s+/)
+# {
+# WARN("AVOID_EXTERNS",
+# "externs should be avoided in .c files\n" . $herecurr);
+# }
# checks for new __setup's
if ($rawline =~ /\b__setup\("([^"]*)"/) {