[Secure-testing-commits] r56822 - bin

Raphael Geissert geissert at moszumanska.debian.org
Wed Oct 18 14:45:39 UTC 2017


Author: geissert
Date: 2017-10-18 14:45:39 +0000 (Wed, 18 Oct 2017)
New Revision: 56822

Modified:
   bin/check-new-issues
Log:
move the presenting/editing loop logic into its own function


Modified: bin/check-new-issues
===================================================================
--- bin/check-new-issues	2017-10-18 14:07:19 UTC (rev 56821)
+++ bin/check-new-issues	2017-10-18 14:45:39 UTC (rev 56822)
@@ -269,26 +269,37 @@
 
 $attribs->{attempted_completion_function} = \&initial_completion;
 
-TODO: foreach my $todo (reverse sort @todos) {
-	print ${$data->{$todo}->{CVE}} if $data->{$todo}->{CVE};
-	print ${$data->{$todo}->{entry}};
+foreach my $todo (reverse sort @todos) {
+	last unless present_issue($todo);
+}
 
-	if ($data->{$todo}->{CVE}) {
-		my $nfu_entry = auto_nfu($todo);
+open(my $fh, ">", $datafile);
+print $fh @{$entries};
+close($fh);
+
+sub present_issue {
+	my $name = shift;
+	my $quit = 0;
+
+	print ${$data->{$name}->{CVE}} if $data->{$name}->{CVE};
+	print ${$data->{$name}->{entry}};
+
+	if ($data->{$name}->{CVE}) {
+		my $nfu_entry = auto_nfu($name);
 		if ($nfu_entry) {
-			${$data->{$todo}->{entry}} =~
+			${$data->{$name}->{entry}} =~
 				s/^\s*TODO: check/\tNOT-FOR-US: $nfu_entry/m ;
-				print "New entry auto set to set to:\n${$data->{$todo}->{entry}}";
-				next TODO;
+				print "New entry auto set to set to:\n${$data->{$name}->{entry}}";
+				return 1;
 		}
 	}
 
-	auto_search($todo);
+	auto_search($name);
 	
     READ: while (my $r=$term->readline(">") ) {
     		chomp $r;
 		if ($r =~ /^\s*$/) {
-			next TODO;
+			last READ;
 		}
 		elsif ($r=~ /^\.c(.*)$/ ) {
 			my $s = $1;
@@ -333,18 +344,19 @@
 			next READ;
 		}
 		elsif ($r=~ /^q\s?$/i ) {
-			last TODO;
+			$quit = 1;
+			last READ;
 		}
 		elsif ($r=~ /^[ve]\s?$/i ) {
-			my $newentry=edit_entry(${$data->{$todo}->{entry}});
-			if ( $newentry eq ${$data->{$todo}->{entry}} ) {
+			my $newentry=edit_entry(${$data->{$name}->{entry}});
+			if ( $newentry eq ${$data->{$name}->{entry}} ) {
 				print "Not changed.\n";
 				next READ;
 			}
 			else {
-				${$data->{$todo}->{entry}}=$newentry;
+				${$data->{$name}->{entry}}=$newentry;
 				print "New entry set to:\n$newentry";
-				next TODO;
+				last READ;
 			}
 		}
 		elsif ($r=~ /^(\-\s+.+)$/ ) {
@@ -353,7 +365,7 @@
 				unless (scalar(@comps)>2);
 			my $inputentry = join(' ', @comps);
 
-			my $preventry=${$data->{$todo}->{entry}};
+			my $preventry=${$data->{$name}->{entry}};
 			$preventry =~
 				s/^\s+/\t$inputentry\n$&/m ;
 
@@ -363,31 +375,29 @@
 			}
 
 			my $newentry=edit_entry($preventry);
-			${$data->{$todo}->{entry}}=$newentry;
+			${$data->{$name}->{entry}}=$newentry;
 			print "New entry set to:\n$newentry";
-			next TODO;
+			last READ;
 		}
 		elsif ($r=~ /^\.r(.*)$/ ) {
 			my $tmp=new File::Temp();
 			my $tmpname=$tmp->filename;
-			system("$basedir/bin/report-vuln $1 $todo > $tmpname");
+			system("$basedir/bin/report-vuln $1 $name > $tmpname");
 			system("$editor $tmpname");
 			close($tmp);
 			next READ;
 		}
 		else {
-			${$data->{$todo}->{entry}} =~
+			${$data->{$name}->{entry}} =~
 				s/^\s*TODO: check/\tNOT-FOR-US: $r/m ;
-				print "New entry set to:\n${$data->{$todo}->{entry}}";
-			next TODO;
+				print "New entry set to:\n${$data->{$name}->{entry}}";
+			last READ;
 		}
 	}
+
+	return (!$quit);
 }
 
-open(my $fh, ">", $datafile);
-print $fh @{$entries};
-close($fh);
-
 sub description {
 	my $name=shift;
 




More information about the Secure-testing-commits mailing list