From 185787d29d8ab9e0d58e8996ca63f7728b425f84 Mon Sep 17 00:00:00 2001 From: Tim Schumacher Date: Tue, 7 Feb 2023 15:01:39 +0100 Subject: [PATCH] TelnetServer: Use `AK::Stream` to serialize commands --- Userland/Services/TelnetServer/Client.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Userland/Services/TelnetServer/Client.cpp b/Userland/Services/TelnetServer/Client.cpp index e55484e4c7..c4027d2a65 100644 --- a/Userland/Services/TelnetServer/Client.cpp +++ b/Userland/Services/TelnetServer/Client.cpp @@ -7,8 +7,8 @@ #include "Client.h" #include -#include #include +#include #include #include #include @@ -194,12 +194,15 @@ ErrorOr Client::send_command(Command command) ErrorOr Client::send_commands(Vector commands) { auto buffer = TRY(ByteBuffer::create_uninitialized(commands.size() * 3)); - DeprecatedOutputMemoryStream stream { buffer }; + FixedMemoryStream stream { buffer.span() }; - for (auto& command : commands) - stream << (u8)IAC << command.command << command.subcommand; + for (auto& command : commands) { + MUST(stream.write_value(IAC)); + MUST(stream.write_value(command.command)); + MUST(stream.write_value(command.subcommand)); + } - VERIFY(stream.is_end()); + VERIFY(TRY(stream.tell()) == buffer.size()); TRY(m_socket->write({ buffer.data(), buffer.size() })); return {}; }