Re: [PATCH v4 10/11] lib/vsprintf: Add %pfw conversion specifier for printing fwnode names

From: Joe Perches
Date: Wed Sep 04 2019 - 11:37:13 EST


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