]> git.sesse.net Git - remoteglot/blobdiff - remoteglot.pl
Fix an insane inconsistency.
[remoteglot] / remoteglot.pl
index c35a0518694789ad9c37452599226fd65977033a..e605b8733eb3a551a5f7a0cdda8f9170c8172bfe 100755 (executable)
@@ -67,6 +67,7 @@ select(TBLOG);
 $| = 1;
 
 select(STDOUT);
+umask 0022;
 
 # open the chess engine
 my $engine = open_engine($remoteglotconf::engine_cmdline, 'E1', sub { handle_uci(@_, 1); });
@@ -275,8 +276,12 @@ sub handle_pgn {
        }
 
        my $pgn = Chess::PGN::Parse->new(undef, $body);
-       if (!defined($pgn) || !$pgn->read_game() || $body !~ /^\[/) {
-               warn "Error in parsing PGN from $url\n";
+       if (!defined($pgn)) {
+               warn "Error in parsing PGN from $url [body='$body']\n";
+       } elsif (!$pgn->read_game()) {
+               warn "Error in reading PGN game from $url [body='$body']\n";
+       } elsif ($body !~ /^\[/) {
+               warn "Malformed PGN from $url [body='$body']\n";
        } else {
                eval {
                        # Skip to the right game.
@@ -295,7 +300,7 @@ sub handle_pgn {
                                push @uci_moves, $uci_move;
 
                                # Re-prettyprint the move.
-                               my ($from_col, $from_row, $to_col, $to_row, $promo) = parse_uci_move($uci_move);
+                               my ($from_row, $from_col, $to_row, $to_col, $promo) = parse_uci_move($uci_move);
                                my ($pretty, undef) = $pos->{'board'}->prettyprint_move($from_row, $from_col, $to_row, $to_col, $promo);
                                push @repretty_moves, $pretty;
                                $pos = $npos;
@@ -507,7 +512,7 @@ sub prettyprint_pv_no_cache {
        }
 
        my $pv = shift @pvs;
-       my ($from_col, $from_row, $to_col, $to_row, $promo) = parse_uci_move($pv);
+       my ($from_row, $from_col, $to_row, $to_col, $promo) = parse_uci_move($pv);
        my ($pretty, $nb) = $board->prettyprint_move($from_row, $from_col, $to_row, $to_col, $promo);
        return ( $pretty, prettyprint_pv_no_cache($nb, @pvs) );
 }
@@ -1339,5 +1344,5 @@ sub parse_uci_move {
        my $to_col   = col_letter_to_num(substr($move, 2, 1));
        my $to_row   = row_letter_to_num(substr($move, 3, 1));
        my $promo    = substr($move, 4, 1);
-       return ($from_col, $from_row, $to_col, $to_row, $promo);
+       return ($from_row, $from_col, $to_row, $to_col, $promo);
 }