|
@@ -628,6 +628,13 @@ sub sanitise_line {
|
|
|
return $res;
|
|
|
}
|
|
|
|
|
|
+sub get_quoted_string {
|
|
|
+ my ($line, $rawline) = @_;
|
|
|
+
|
|
|
+ return "" if ($line !~ m/(\"[X]+\")/g);
|
|
|
+ return substr($rawline, $-[0], $+[0] - $-[0]);
|
|
|
+}
|
|
|
+
|
|
|
sub ctx_statement_block {
|
|
|
my ($linenr, $remain, $off) = @_;
|
|
|
my $line = $linenr - 1;
|
|
@@ -3373,6 +3380,15 @@ sub process {
|
|
|
"struct spinlock should be spinlock_t\n" . $herecurr);
|
|
|
}
|
|
|
|
|
|
+# check for seq_printf uses that could be seq_puts
|
|
|
+ if ($line =~ /\bseq_printf\s*\(/) {
|
|
|
+ my $fmt = get_quoted_string($line, $rawline);
|
|
|
+ if ($fmt !~ /[^\\]\%/) {
|
|
|
+ WARN("PREFER_SEQ_PUTS",
|
|
|
+ "Prefer seq_puts to seq_printf\n" . $herecurr);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
# Check for misused memsets
|
|
|
if ($^V && $^V ge 5.10.0 &&
|
|
|
defined $stat &&
|