Re: [PATCH] checkpatch: do not allow using -f/--file option without a filename

From: Lukas Bulwahn
Date: Mon Jun 07 2021 - 01:12:37 EST


On Sat, Jun 5, 2021 at 9:32 PM Joe Perches <joe@xxxxxxxxxxx> wrote:
>
> On Sun, 2021-06-06 at 00:47 +0530, Dwaipayan Ray wrote:
> > When checkpatch is run without a filename, it reads from stdin.
> > But if --file option is used along with that, it may generate

But if the --file option is used...

> > false positives.
> >
> > Consider the following test file:
> > $cat test.c
> > int x = a - b;
> >
> > $cat test.c | ./scripts/checkpatch.pl -f
> > WARNING: It's generally not useful to have the filename in the file
> > +int x = a - b;
> >
> > This is a false positive and occurs because $realfile is set to "-".
> > Also since checkpatch relies on the file's extension to run specific
> > checks for c files, assembly files, etc, most of the checks are
> > not run as well.
> >
> > So it is better to disable -f/--file option when checkpatch is
> > run without a filename.
>
> That's a reasonable commit message, thanks.
>

That can be shortened to:

Disable -f/--file option when checkpatch is run without a filename.

How about adding a description in the checkpatch Documentation on this
topic as well, as part of this patch?

Lukas

> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> []
> > @@ -331,6 +331,7 @@ help(0) if ($help);
> >
> >
> > die "$P: --git cannot be used with --file or --fix\n" if ($git && ($file || $fix));
> > die "$P: --verbose cannot be used with --terse\n" if ($verbose && $terse);
> > +die "$P: -f/--file requires at least one filename\n" if ($file && $#ARGV < 0);
> >
> > if ($color =~ /^[01]$/) {
> > $color = !$color;
>
>