Hello!

On Tuesday 05 May 2020 12:57:37 Joe Perches wrote:
> > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > index eac40f0abd56a9f4..3355358697d9e790 100755
> > --- a/scripts/checkpatch.pl
> > +++ b/scripts/checkpatch.pl
> > @@ -1057,6 +1057,10 @@ for my $filename (@ARGV) {
> >     }
> >     while (<$FILE>) {
> >             chomp;
> > +           if ($vname eq 'Your patch') {
> > +                   my ($subject) = $_ =~ /^Subject:\s*(.*)/;
> > +                   $vname = '"' . $subject . '"' if $subject;
> > +           }
> >             push(@rawlines, $_);
> >     }
> >     close($FILE);
> 
> There's a less cpu intensive way to do this,
> for small patches, on my little laptop it's a
> few dozen milliseconds faster, and for very
> large patches multiple seconds faster to use
> the following patch:
> 
> Substitute Geert's patch with the below but:
> 
> Acked-by: Joe Perches <[email protected]>
> 
> ---
> 
>  scripts/checkpatch.pl | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index f0092104ff7b..29786a097862 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -1062,6 +1062,7 @@ for my $filename (@ARGV) {
>       while (<$FILE>) {
>               chomp;
>               push(@rawlines, $_);
> +             $vname = "\"$1\"" if ($filename eq '-' && $_ =~ 
> /^Subject:\s*(.*)/);

Hint: You can use qq operator to make code more readable (no need to
escape quote character). And maybe you should match Subject as
case-insensitive and expects at least one space after colon.
As a Perl developer I would write above code as:

+               $vname = qq("$1") if $filename eq '-' && $_ =~ 
m/^Subject:\s+(.+)/i;

Anyway, what would happen if subject line contains quotes?

>       }
>       close($FILE);
>  
> 

Reply via email to