mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 14:17:36 +00:00
Everywhere: Remove unintentional partial stream reads and writes
This commit is contained in:
parent
26516ee160
commit
ae51c1821c
44 changed files with 109 additions and 192 deletions
|
@ -632,25 +632,24 @@ ErrorOr<void> ChessWidget::import_pgn(Core::File& file)
|
|||
ErrorOr<void> ChessWidget::export_pgn(Core::File& file) const
|
||||
{
|
||||
// Tag Pair Section
|
||||
// FIXME: This should write the entire span.
|
||||
TRY(file.write_some("[Event \"Casual Game\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("[Site \"SerenityOS Chess\"]\n"sv.bytes()));
|
||||
TRY(file.write_some(DeprecatedString::formatted("[Date \"{}\"]\n", Core::DateTime::now().to_deprecated_string("%Y.%m.%d"sv)).bytes()));
|
||||
TRY(file.write_some("[Round \"1\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[Event \"Casual Game\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[Site \"SerenityOS Chess\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("[Date \"{}\"]\n", Core::DateTime::now().to_deprecated_string("%Y.%m.%d"sv)).bytes()));
|
||||
TRY(file.write_until_depleted("[Round \"1\"]\n"sv.bytes()));
|
||||
|
||||
DeprecatedString username(getlogin());
|
||||
auto const player1 = (!username.is_empty() ? username.view() : "?"sv.bytes());
|
||||
auto const player2 = (!m_engine.is_null() ? "SerenityOS ChessEngine"sv.bytes() : "?"sv.bytes());
|
||||
TRY(file.write_some(DeprecatedString::formatted("[White \"{}\"]\n", m_side == Chess::Color::White ? player1 : player2).bytes()));
|
||||
TRY(file.write_some(DeprecatedString::formatted("[Black \"{}\"]\n", m_side == Chess::Color::Black ? player1 : player2).bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("[White \"{}\"]\n", m_side == Chess::Color::White ? player1 : player2).bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("[Black \"{}\"]\n", m_side == Chess::Color::Black ? player1 : player2).bytes()));
|
||||
|
||||
TRY(file.write_some(DeprecatedString::formatted("[Result \"{}\"]\n", Chess::Board::result_to_points_string(m_board.game_result(), m_board.turn())).bytes()));
|
||||
TRY(file.write_some("[WhiteElo \"?\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("[BlackElo \"?\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("[Variant \"Standard\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("[TimeControl \"-\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("[Annotator \"SerenityOS Chess\"]\n"sv.bytes()));
|
||||
TRY(file.write_some("\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("[Result \"{}\"]\n", Chess::Board::result_to_points_string(m_board.game_result(), m_board.turn())).bytes()));
|
||||
TRY(file.write_until_depleted("[WhiteElo \"?\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[BlackElo \"?\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[Variant \"Standard\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[TimeControl \"-\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("[Annotator \"SerenityOS Chess\"]\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("\n"sv.bytes()));
|
||||
|
||||
// Movetext Section
|
||||
for (size_t i = 0, move_no = 1; i < m_board.moves().size(); i += 2, move_no++) {
|
||||
|
@ -658,17 +657,17 @@ ErrorOr<void> ChessWidget::export_pgn(Core::File& file) const
|
|||
|
||||
if (i + 1 < m_board.moves().size()) {
|
||||
const DeprecatedString black = m_board.moves().at(i + 1).to_algebraic();
|
||||
TRY(file.write_some(DeprecatedString::formatted("{}. {} {} ", move_no, white, black).bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("{}. {} {} ", move_no, white, black).bytes()));
|
||||
} else {
|
||||
TRY(file.write_some(DeprecatedString::formatted("{}. {} ", move_no, white).bytes()));
|
||||
TRY(file.write_until_depleted(DeprecatedString::formatted("{}. {} ", move_no, white).bytes()));
|
||||
}
|
||||
}
|
||||
|
||||
TRY(file.write_some("{ "sv.bytes()));
|
||||
TRY(file.write_some(Chess::Board::result_to_string(m_board.game_result(), m_board.turn()).bytes()));
|
||||
TRY(file.write_some(" } "sv.bytes()));
|
||||
TRY(file.write_some(Chess::Board::result_to_points_string(m_board.game_result(), m_board.turn()).bytes()));
|
||||
TRY(file.write_some("\n"sv.bytes()));
|
||||
TRY(file.write_until_depleted("{ "sv.bytes()));
|
||||
TRY(file.write_until_depleted(Chess::Board::result_to_string(m_board.game_result(), m_board.turn()).bytes()));
|
||||
TRY(file.write_until_depleted(" } "sv.bytes()));
|
||||
TRY(file.write_until_depleted(Chess::Board::result_to_points_string(m_board.game_result(), m_board.turn()).bytes()));
|
||||
TRY(file.write_until_depleted("\n"sv.bytes()));
|
||||
|
||||
return {};
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue