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 {}; }