On Wed, 2019-09-04 at 18:04 +0300, Sakari Ailus wrote: > On Tue, Sep 03, 2019 at 03:06:07PM +0200, Petr Mladek wrote: > > On Mon 2019-09-02 11:32:39, Sakari Ailus wrote: [] > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl [] > > > @@ -5995,7 +5995,8 @@ sub process { > > > while ($fmt =~ /(\%[\*\d\.]*p(\w))/g) { > > > $specifier = $1; > > > $extension = $2; > > > - if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxt]/) { > > > + if ($extension !~ /[SsBKRraEhMmIiUDdgVCbGNOxtf]/ || > > > + $extension =~ /^f[^w]/) { > > > > This does not work. $extension seems to have only one character. > > Good catch. \w indeed matches a single letter; I'll change that to \w+ and > change the other uses accordingly. If you want to make changes to checkpatch, please send patches to the checkpatch maintainers. Don't break other parsing of $2/#extension. If you really need to know whatever follows the specific extension letter use another capture group. while ($fmt =~ /(\%[\*\d\.]*p(\w)(\w*))/g) { $specifier = $1; $extension = $2; $qualifier = $3; etc... Then verify $qualifier or $3 is not undef if necessary