From: Steinar H. Gunderson Date: Sat, 30 Jun 2007 17:10:07 +0000 (+0200) Subject: Handle the "single MultiPV" information sent by Toga II better. X-Git-Url: https://git.sesse.net/?p=remoteglot;a=commitdiff_plain;h=2f411b34fe1fc367713f437b8b75a41ae8b805a3 Handle the "single MultiPV" information sent by Toga II better. --- diff --git a/remoteglot.pl b/remoteglot.pl index d457e92..24ce2e7 100755 --- a/remoteglot.pl +++ b/remoteglot.pl @@ -472,7 +472,7 @@ sub output_screen { return unless (exists($ficsinfo{'board'})); - if (exists($uciinfo{'pv1'})) { + if (exists($uciinfo{'pv1'}) && exists($uciinfo{'pv2'})) { # multi-PV my $mpv = 1; while (exists($uciinfo{'pv' . $mpv})) { @@ -501,6 +501,19 @@ sub output_screen { ++$mpv; } } else { + # + # Some programs _always_ report MultiPV, even with only one PV. + # In this case, we simply use that data as if MultiPV was never + # specified. + # + if (exists($uciinfo{'pv1'})) { + for my $key qw(pv score_cp score_mate nodes nps depth seldepth tbhits) { + if (exists($uciinfo{$key . '1'}) && !exists($uciinfo{$key})) { + $uciinfo{$key} = $uciinfo{$key . '1'}; + } + } + } + # single-PV if (defined($uciinfo{'score_mate'})) { my $mate = $uciinfo{'score_mate'};