On Sun, 2014-08-03 at 20:03 -0700, Hans Wennborg wrote:
On 08/03/2014 07:50 PM, Joe Perches wrote:[]
0x%<foo> should be used to emit hexadecimal values.
Uses of 0x%[udi] emit decimal values but these should
probably instead use 0x%x variants.
Warn on these uses.
Good idea!
[]diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
@@ -4985,6 +4985,10 @@ sub process {
while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
$string = substr($rawline, $-[1], $+[1] - $-[1]);
$string =~ s/%%/__/g;
+ if ($string =~ /(0x(?<!%)%[0-9.\*]*[Ll]*[udi])(?![xX])/) {
Maybe the regex should have a \b to check for a word boundary before the
0 to avoid matching things like "800x%d"? (I don't know if that occurs
in the kernel, but I've seen it elsewhere.)
Maybe.
Code it to do the appropriate thing and test it too.
See if there any other cases that should be emitted.