Message ID | 1461245285-14918-2-git-send-email-yingjoe.chen@mediatek.com |
---|---|
State | New |
Headers | show |
On Thu, 2016-04-21 at 10:06 -0700, Joe Perches wrote: > On Thu, 2016-04-21 at 21:28 +0800, Yingjoe Chen wrote: > > Current help text check only check a config option if it is followed > > by another config. > > Adding check for help text if the next entry is menuconfig, choice/ > > endchoice, comment, menu/endmenu, if/endif, source or end of file. > [] > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl > [] > > @@ -2563,6 +2563,12 @@ sub process { > > next if ($f =~ /^-/); > > last if (!$file && $f =~ /^\@\@/); > > > > + if ($f !~ /^[+\- ]/) { > > + # End of file > > + $is_end = 1; > > + last; > > + } > > + > > if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) { > > $is_start = 1; > > } elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) { > > @@ -2573,7 +2579,10 @@ sub process { > > $f =~ s/#.*//; > > $f =~ s/^\s+//; > > next if ($f =~ /^$/); > > - if ($f =~ /^\s*config\s/) { > > + if ($f =~ /^\s*config\s/ || $f =~ /^\s*menuconfig\s/ || $f =~ /^\s*choice\s/ || > > + $f =~ /^\s*endchoice$/ || $f =~ /^\s*comment\s/ || $f =~ /^\s*menu\s/ || > > + $f =~ /^\s*endmenu$/ || $f =~ /^\s*if\s/ || $f =~ /^\s*endif$/ || > > + $f =~ /^\s*source\s/) { > > $is_end = 1; > > last; > > } > > This seems relatively verbose. > Also, because there's a substitution above that strips leading spaces, > the "^\s*" uses are unnecessary and can be simplified to ^ > > Maybe: > if ($f =~ /^(?:config\s|menuconfig\s|choice\s|endchoice\s*$|comment\s|menu\s|endmenu$|if\s|endif\s*$|source\s) > Thanks Strip apply to trailing spaces as well, will change this to: if ($f =~ /^(?:config\s|menuconfig\s|choice\s|endchoice$|comment\s|menu\s|endmenu$|if\s|endif$|source\s)/) Joe.C
diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl index 1c43dc1..2bf4499 100755 --- a/scripts/checkpatch.pl +++ b/scripts/checkpatch.pl @@ -2563,6 +2563,12 @@ sub process { next if ($f =~ /^-/); last if (!$file && $f =~ /^\@\@/); + if ($f !~ /^[+\- ]/) { + # End of file + $is_end = 1; + last; + } + if ($lines[$ln - 1] =~ /^\+\s*(?:bool|tristate)\s*\"/) { $is_start = 1; } elsif ($lines[$ln - 1] =~ /^\+\s*(?:---)?help(?:---)?$/) { @@ -2573,7 +2579,10 @@ sub process { $f =~ s/#.*//; $f =~ s/^\s+//; next if ($f =~ /^$/); - if ($f =~ /^\s*config\s/) { + if ($f =~ /^\s*config\s/ || $f =~ /^\s*menuconfig\s/ || $f =~ /^\s*choice\s/ || + $f =~ /^\s*endchoice$/ || $f =~ /^\s*comment\s/ || $f =~ /^\s*menu\s/ || + $f =~ /^\s*endmenu$/ || $f =~ /^\s*if\s/ || $f =~ /^\s*endif$/ || + $f =~ /^\s*source\s/) { $is_end = 1; last; }
Current help text check only check a config option if it is followed by another config. Adding check for help text if the next entry is menuconfig, choice/ endchoice, comment, menu/endmenu, if/endif, source or end of file. Signed-off-by: Yingjoe Chen <yingjoe.chen@mediatek.com> --- scripts/checkpatch.pl | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) -- 1.9.1