From e5e801f96cf2684760b2ff9acd7ad0544aea2611 Mon Sep 17 00:00:00 2001 From: Raphael Geissert Date: Wed, 18 Oct 2017 14:45:39 +0000 Subject: move the presenting/editing loop logic into its own function git-svn-id: svn+ssh://svn.debian.org/svn/secure-testing@56822 e39458fd-73e7-0310-bf30-c45bca0a0e42 --- bin/check-new-issues | 62 ++++++++++++++++++++++++++++++---------------------- 1 file changed, 36 insertions(+), 26 deletions(-) (limited to 'bin/check-new-issues') diff --git a/bin/check-new-issues b/bin/check-new-issues index ec906c7b06..0adf6457a2 100755 --- a/bin/check-new-issues +++ b/bin/check-new-issues @@ -269,26 +269,37 @@ sub initial_completion { $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); +} + +open(my $fh, ">", $datafile); +print $fh @{$entries}; +close($fh); + +sub present_issue { + my $name = shift; + my $quit = 0; - if ($data->{$todo}->{CVE}) { - my $nfu_entry = auto_nfu($todo); + 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 @@ TODO: foreach my $todo (reverse sort @todos) { 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 @@ TODO: foreach my $todo (reverse sort @todos) { 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,30 +375,28 @@ TODO: foreach my $todo (reverse sort @todos) { } 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; } } -} -open(my $fh, ">", $datafile); -print $fh @{$entries}; -close($fh); + return (!$quit); +} sub description { my $name=shift; -- cgit v1.2.3