Be more aggressive about clearing out the UCI info. This fixes an issue
[remoteglot] / remoteglot.pl
index a58168b..2c4bb9e 100755 (executable)
@@ -107,6 +107,7 @@ while (1) {
                        uciprint("position fen $fen");
                        uciprint("go infinite");
 
+                       %uciinfo = ();
                        $last_move = time;
 
                        # 
@@ -478,6 +479,7 @@ sub output_screen {
                }
        };
        if ($@) {
+               %uciinfo = ();
                return;
        }
 
@@ -510,7 +512,7 @@ sub output_screen {
                while (exists($uciinfo{'pv' . $mpv})) {
                        $text .= sprintf "  PV%2u", $mpv;
                        my $score = short_score(\%uciinfo, \%ficsinfo, $mpv);
-                       $text .= "  ($score)" if (!defined($score));
+                       $text .= "  ($score)" if (defined($score));
 
                        if (exists($uciinfo{'nodes' . $mpv}) && exists($uciinfo{'nps' . $mpv}) && exists($uciinfo{'depth' . $mpv})) {
                                $text .= sprintf " (%5u kn, %3u kn/s, %2u ply)",