summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Schumacher <timschumi@gmx.de>2023-02-07 15:01:39 +0100
committerLinus Groh <mail@linusgroh.de>2023-02-08 18:51:02 +0000
commit185787d29d8ab9e0d58e8996ca63f7728b425f84 (patch)
treede01f267c86bf5742a27336ed84fe9194ea96ff7
parent43f36d5e7fb1ede3c9be8adaea2c94b91bb67bf2 (diff)
downloadserenity-185787d29d8ab9e0d58e8996ca63f7728b425f84.zip
TelnetServer: Use `AK::Stream` to serialize commands
-rw-r--r--Userland/Services/TelnetServer/Client.cpp13
1 files 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 <AK/ByteBuffer.h>
-#include <AK/DeprecatedMemoryStream.h>
#include <AK/DeprecatedString.h>
+#include <AK/MemoryStream.h>
#include <AK/StringBuilder.h>
#include <AK/StringView.h>
#include <AK/Types.h>
@@ -194,12 +194,15 @@ ErrorOr<void> Client::send_command(Command command)
ErrorOr<void> Client::send_commands(Vector<Command> 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<u8>(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 {};
}