mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 16:48:26 +02:00 
			
		
		
		
	checkpatch: add sub routine get_stat_here()
checkpatch currently contains duplicate code. We can define a sub routine and call that instead. This reduces code duplication and line count. Add subroutine get_stat_here(). Link: http://lkml.kernel.org/r/1519700648-23108-4-git-send-email-me@tobin.cc Signed-off-by: Tobin C. Harding <me@tobin.cc> Cc: Joe Perches <joe@perches.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									c2066ca350
								
							
						
					
					
						commit
						e3d95a2a05
					
				
					 1 changed files with 20 additions and 32 deletions
				
			
		|  | @ -1656,6 +1656,17 @@ sub get_stat_real { | |||
| 	return $stat_real; | ||||
| } | ||||
| 
 | ||||
| sub get_stat_here { | ||||
| 	my ($linenr, $cnt, $here) = @_; | ||||
| 
 | ||||
| 	my $herectx = $here . "\n"; | ||||
| 	for (my $n = 0; $n < $cnt; $n++) { | ||||
| 		$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 	} | ||||
| 
 | ||||
| 	return $herectx; | ||||
| } | ||||
| 
 | ||||
| sub cat_vet { | ||||
| 	my ($vet) = @_; | ||||
| 	my ($res, $coded); | ||||
|  | @ -4967,12 +4978,8 @@ sub process { | |||
| 			#print "REST<$rest> dstat<$dstat> ctx<$ctx>\n"; | ||||
| 
 | ||||
| 			$ctx =~ s/\n*$//; | ||||
| 			my $herectx = $here . "\n"; | ||||
| 			my $stmt_cnt = statement_rawlines($ctx); | ||||
| 
 | ||||
| 			for (my $n = 0; $n < $stmt_cnt; $n++) { | ||||
| 				$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 			} | ||||
| 			my $herectx = get_stat_here($linenr, $stmt_cnt, $here); | ||||
| 
 | ||||
| 			if ($dstat ne '' && | ||||
| 			    $dstat !~ /^(?:$Ident|-?$Constant),$/ &&			# 10, // foo(), | ||||
|  | @ -5044,12 +5051,9 @@ sub process { | |||
| # check for macros with flow control, but without ## concatenation | ||||
| # ## concatenation is commonly a macro that defines a function so ignore those | ||||
| 			if ($has_flow_statement && !$has_arg_concat) { | ||||
| 				my $herectx = $here . "\n"; | ||||
| 				my $cnt = statement_rawlines($ctx); | ||||
| 				my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 				for (my $n = 0; $n < $cnt; $n++) { | ||||
| 					$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 				} | ||||
| 				WARN("MACRO_WITH_FLOW_CONTROL", | ||||
| 				     "Macros with flow control statements should be avoided\n" . "$herectx"); | ||||
| 			} | ||||
|  | @ -5089,11 +5093,7 @@ sub process { | |||
| 
 | ||||
| 				$ctx =~ s/\n*$//; | ||||
| 				my $cnt = statement_rawlines($ctx); | ||||
| 				my $herectx = $here . "\n"; | ||||
| 
 | ||||
| 				for (my $n = 0; $n < $cnt; $n++) { | ||||
| 					$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 				} | ||||
| 				my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 				if (($stmts =~ tr/;/;/) == 1 && | ||||
| 				    $stmts !~ /^\s*(if|while|for|switch)\b/) { | ||||
|  | @ -5107,11 +5107,7 @@ sub process { | |||
| 			} elsif ($dstat =~ /^\+\s*#\s*define\s+$Ident.*;\s*$/) { | ||||
| 				$ctx =~ s/\n*$//; | ||||
| 				my $cnt = statement_rawlines($ctx); | ||||
| 				my $herectx = $here . "\n"; | ||||
| 
 | ||||
| 				for (my $n = 0; $n < $cnt; $n++) { | ||||
| 					$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 				} | ||||
| 				my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 				WARN("TRAILING_SEMICOLON", | ||||
| 				     "macros should not use a trailing semicolon\n" . "$herectx"); | ||||
|  | @ -5234,12 +5230,8 @@ sub process { | |||
| 				} | ||||
| 			} | ||||
| 			if ($level == 0 && $block =~ /^\s*\{/ && !$allowed) { | ||||
| 				my $herectx = $here . "\n"; | ||||
| 				my $cnt = statement_rawlines($block); | ||||
| 
 | ||||
| 				for (my $n = 0; $n < $cnt; $n++) { | ||||
| 					$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 				} | ||||
| 				my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 				WARN("BRACES", | ||||
| 				     "braces {} are not necessary for single statement blocks\n" . $herectx); | ||||
|  | @ -6096,11 +6088,9 @@ sub process { | |||
| 			} | ||||
| 			if ($r1 !~ /^sizeof\b/ && $r2 =~ /^sizeof\s*\S/ && | ||||
| 			    !($r1 =~ /^$Constant$/ || $r1 =~ /^[A-Z_][A-Z0-9_]*$/)) { | ||||
| 				my $herectx = $here . "\n"; | ||||
| 				my $cnt = statement_rawlines($stat); | ||||
| 				for (my $n = 0; $n < $cnt; $n++) { | ||||
| 					$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 				} | ||||
| 				my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 				if (WARN("ALLOC_WITH_MULTIPLY", | ||||
| 					 "Prefer $newfunc over $oldfunc with multiply\n" . $herectx) && | ||||
| 				    $cnt == 1 && | ||||
|  | @ -6183,11 +6173,9 @@ sub process { | |||
| 		if ($^V && $^V ge 5.10.0 && | ||||
| 		    defined $stat && | ||||
| 		    $stat =~ /^\+[$;\s]*(?:case[$;\s]+\w+[$;\s]*:[$;\s]*|)*[$;\s]*\bdefault[$;\s]*:[$;\s]*;/g) { | ||||
| 			my $herectx = $here . "\n"; | ||||
| 			my $cnt = statement_rawlines($stat); | ||||
| 			for (my $n = 0; $n < $cnt; $n++) { | ||||
| 				$herectx .= raw_line($linenr, $n) . "\n"; | ||||
| 			} | ||||
| 			my $herectx = get_stat_here($linenr, $cnt, $here); | ||||
| 
 | ||||
| 			WARN("DEFAULT_NO_BREAK", | ||||
| 			     "switch default: should use break\n" . $herectx); | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue
	
	 Tobin C. Harding
						Tobin C. Harding