]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
checkpatch: improve space before tab --fix option
authorJoe Perches <joe@perches.com>
Fri, 3 Jan 2014 03:10:18 +0000 (14:10 +1100)
committerStephen Rothwell <sfr@canb.auug.org.au>
Fri, 3 Jan 2014 03:10:18 +0000 (14:10 +1100)
This test should remove all the spaces before a tab not just one space.

Substitute a tab for each 8 space block before a tab and remove less than
8 spaces before a tab.

This SPACE_BEFORE_TAB test is done after CODE_INDENT.

If there are spaces used at the beginning of a line that should be
converted to tabs, please make sure that the CODE_INDENT test and
conversion is done before this SPACE_BEFORE_TAB test and conversion.

Reported-by: Manfred Spraul <manfred@colorfullife.com>
Signed-off-by: Joe Perches <joe@perches.com>
Cc: Josh Triplett <josh@joshtriplett.org>
Cc: Andy Whitcroft <apw@canonical.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
scripts/checkpatch.pl

index 08805f0c7ca10a626d87b4418847b55a21ed4775..4c86498353c1a971b72a1111d5fc650a2bff6aea 100755 (executable)
@@ -2118,8 +2118,10 @@ sub process {
                        if (WARN("SPACE_BEFORE_TAB",
                                "please, no space before tabs\n" . $herevet) &&
                            $fix) {
-                               $fixed[$linenr - 1] =~
-                                   s/(^\+.*) +\t/$1\t/;
+                               while ($fixed[$linenr - 1] =~
+                                          s/(^\+.*) {8,8}+\t/$1\t\t/) {}
+                               while ($fixed[$linenr - 1] =~
+                                          s/(^\+.*) +\t/$1\t/) {}
                        }
                }