This patch enhances the check for seq_printf uses that could
be seq_puts.

It was considering the escape of % is \%, but it is %%.
This led to skipping some valid cases related to that warning.  

Signed-off-by: Heba Aamer <heba93aa...@gmail.com>
---
 scripts/checkpatch.pl |   13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index f0bb6d6..0b125ca 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -4804,11 +4804,14 @@ sub process {
 # check for seq_printf uses that could be seq_puts
                if ($sline =~ /\bseq_printf\s*\(.*"\s*\)\s*;\s*$/) {
                        my $fmt = get_quoted_string($line, $rawline);
-                       if ($fmt ne "" && $fmt !~ /[^\\]\%/) {
-                               if (WARN("PREFER_SEQ_PUTS",
-                                        "Prefer seq_puts to seq_printf\n" . 
$herecurr) &&
-                                   $fix) {
-                                       $fixed[$fixlinenr] =~ 
s/\bseq_printf\b/seq_puts/;
+                       if ($fmt ne "") {
+                               $fmt =~ s/%%//g;
+                               if ($fmt !~ /%/) {
+                                       if (WARN("PREFER_SEQ_PUTS",
+                                                "Prefer seq_puts to 
seq_printf\n" . $herecurr) &&
+                                           $fix) {
+                                               $fixed[$fixlinenr] =~ 
s/\bseq_printf\b/seq_puts/;
+                                       }
                                }
                        }
                }
-- 
1.7.9.5

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to