On Mon, 2018-03-05 at 14:58 +1100, Tobin C. Harding wrote:
> From: Joe Perches <j...@perches.com>

I still think this "Co-Developed-by" stuff is unnecessary.

> Recently signature tag Co-Developed-by was added to the
> kernel (Documentation/process/5.Posting.rst). checkpatch.pl doesn't know
> about it yet. All prior tags used all lowercase characters except for first
> character. Checks for this format had to be re-worked to allow for the
> new tag.
> 
> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> 
> Reviewed-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> Signed-off-by: Tobin C. Harding <m...@tobin.cc>
> ---
>  scripts/checkpatch.pl | 58 
> +++++++++++++++++++++++++++++++--------------------
>  1 file changed, 35 insertions(+), 23 deletions(-)
> 
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index 3d4040322ae1..fbe2ae2d035f 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -461,16 +461,18 @@ our $logFunctions = qr{(?x:
>       seq_vprintf|seq_printf|seq_puts
>  )};
>  
> -our $signature_tags = qr{(?xi:
> -     Signed-off-by:|
> -     Acked-by:|
> -     Tested-by:|
> -     Reviewed-by:|
> -     Reported-by:|
> -     Suggested-by:|
> -     To:|
> -     Cc:
> -)};
> +our @valid_signatures = (
> +     "Signed-off-by:",
> +     "Acked-by:",
> +     "Tested-by:",
> +     "Reviewed-by:",
> +     "Reported-by:",
> +     "Suggested-by:",
> +     "Co-Developed-by:",
> +     "To:",
> +     "Cc:"
> +);
> +my $signature_tags = "(?x:" . join('|', @valid_signatures) . ")";
>  
>  our @typeListMisordered = (
>       qr{char\s+(?:un)?signed},
> @@ -2193,6 +2195,17 @@ sub pos_last_openparen {
>       return length(expand_tabs(substr($line, 0, $last_openparen))) + 1;
>  }
>  
> +sub get_preferred_sign_off {
> +     my ($sign_off) = @_;
> +
> +     foreach my $sig (@valid_signatures) {
> +             if (lc($sign_off) eq lc($sig)) {
> +                     return $sig;
> +             }
> +     }
> +     return "";
> +}
> +
>  sub process {
>       my $filename = shift;
>  
> @@ -2499,35 +2512,34 @@ sub process {
>                       my $sign_off = $2;
>                       my $space_after = $3;
>                       my $email = $4;
> -                     my $ucfirst_sign_off = ucfirst(lc($sign_off));
> +                     my $preferred_sign_off = ucfirst(lc($sign_off));
>  
> -                     if ($sign_off !~ /$signature_tags/) {
> +                     if ($sign_off !~ /$signature_tags/i) {
>                               WARN("BAD_SIGN_OFF",
>                                    "Non-standard signature: $sign_off\n" . 
> $herecurr);
> -                     }
> -                     if (defined $space_before && $space_before ne "") {
> +                     } elsif ($sign_off !~ /$signature_tags/) {
> +                             $preferred_sign_off = 
> get_preferred_sign_off($sign_off);
>                               if (WARN("BAD_SIGN_OFF",
> -                                      "Do not use whitespace before 
> $ucfirst_sign_off\n" . $herecurr) &&
> +                                      "'$preferred_sign_off' is the 
> preferred signature form\n" . $herecurr) &&
>                                   $fix) {
> -                                     $fixed[$fixlinenr] =
> -                                         "$ucfirst_sign_off $email";
> +                                     $fixed[$fixlinenr] = 
> "$preferred_sign_off $email";
>                               }
>                       }
> -                     if ($sign_off =~ /-by:$/i && $sign_off ne 
> $ucfirst_sign_off) {
> +                     if (defined $space_before && $space_before ne "") {
>                               if (WARN("BAD_SIGN_OFF",
> -                                      "'$ucfirst_sign_off' is the preferred 
> signature form\n" . $herecurr) &&
> +                                      "Do not use whitespace before 
> $preferred_sign_off\n" . $herecurr) &&
>                                   $fix) {
>                                       $fixed[$fixlinenr] =
> -                                         "$ucfirst_sign_off $email";
> +                                         "$preferred_sign_off $email";
>                               }
> -
>                       }
> +
>                       if (!defined $space_after || $space_after ne " ") {
>                               if (WARN("BAD_SIGN_OFF",
> -                                      "Use a single space after 
> $ucfirst_sign_off\n" . $herecurr) &&
> +                                      "Use a single space after 
> $preferred_sign_off\n" . $herecurr) &&
>                                   $fix) {
>                                       $fixed[$fixlinenr] =
> -                                         "$ucfirst_sign_off $email";
> +                                         "$preferred_sign_off $email";
>                               }
>                       }
>  

Reply via email to