An "uninitialized value" is emitted when a block comment starts on
the same line as a statement.

Fix this and make the test use a little fewer cpu cycles too.

Signed-off-by: Joe Perches <[email protected]>
Reported-by: Charlemagne Lasse <[email protected]>
---
 scripts/checkpatch.pl | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index 4ecb66c..d7cee13 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -3005,18 +3005,23 @@ sub process {
 
 # Block comment * alignment
                if ($prevline =~ /$;[ \t]*$/ &&                 #ends in comment
-                   (($prevrawline =~ /^\+.*?\/\*/ &&           #starting /*
+                   $line =~ /^\+[ \t]*$;/ &&                   #leading comment
+                   $rawline =~ /^\+[ \t]*\*/ &&                #leading *
+                   (($prevrawline =~ /^\+.*?\/\*/ &&           #leading /*
                      $prevrawline !~ /\*\/[ \t]*$/) ||         #no trailing */
-                    $prevrawline =~ /^\+[ \t]*\*/) &&          #starting *
-                   $rawline =~ /^\+[ \t]*\*/) {                #rawline *
+                    $prevrawline =~ /^\+[ \t]*\*/)) {          #leading *
+                       my $oldindent;
                        $prevrawline =~ m@^\+([ \t]*/?)\*@;
-                       my $oldindent = expand_tabs($1);
+                       if (defined($1)) {
+                               $oldindent = expand_tabs($1);
+                       } else {
+                               $prevrawline =~ m@^\+(.*/?)\*@;
+                               $oldindent = expand_tabs($1);
+                       }
                        $rawline =~ m@^\+([ \t]*)\*@;
                        my $newindent = $1;
-                       my $test_comment = '^\\+' . "$;" x (length($newindent) 
+ 1);
                        $newindent = expand_tabs($newindent);
-                       if ($line =~ /$test_comment/ &&
-                           length($oldindent) ne length($newindent)) {
+                       if (length($oldindent) ne length($newindent)) {
                                WARN("BLOCK_COMMENT_STYLE",
                                     "Block comments should align the * on each 
line\n" . $hereprev);
                        }
-- 
2.10.0.rc2.1.g053435c

Reply via email to