$| = 1;
select(STDOUT);
-umask 0027; # analysis.json should not be served to users.
+umask 0022; # analysis.json should not be served to users.
# open the chess engine
my $engine = open_engine($remoteglotconf::engine_cmdline, 'E1', sub { handle_uci(@_, 1); });
sub prettyprint_pv {
my ($pos, @pvs) = @_;
- my $cachekey = $pos->{'fen'} . join('', @pvs);
+ my $cachekey = $pos->fen() . join('', @pvs);
if (exists($pos->{'prettyprint_cache'}{$cachekey})) {
return @{$pos->{'prettyprint_cache'}{$cachekey}};
} else {
if (!$historic_json_only && exists($pos_calculating->{'history'})) {
my %score_history = ();
+ local $dbh->{AutoCommit} = 0;
my $q = $dbh->prepare('SELECT * FROM scores WHERE id=?');
my $pos = Position->start_pos('white', 'black');
my $halfmove_num = 0;
($pos) = $pos->make_pretty_move($move);
}
$q->finish;
+ $dbh->commit;
# If at any point we are missing 10 consecutive moves,
# truncate the history there. This is so we don't get into