1
0
Fork 0

Add: [Network] Writing std::string to a packet

pull/9193/head
rubidium42 2021-04-27 21:25:52 +02:00 committed by rubidium42
parent 8228021afe
commit ba409e8c45
2 changed files with 5 additions and 6 deletions

View File

@ -178,12 +178,11 @@ void Packet::Send_uint64(uint64 data)
* the string + '\0'. No size-byte or something. * the string + '\0'. No size-byte or something.
* @param data The string to send * @param data The string to send
*/ */
void Packet::Send_string(const char *data) void Packet::Send_string(const std::string_view data)
{ {
assert(data != nullptr); assert(this->CanWriteToPacket(data.size() + 1));
/* Length of the string + 1 for the '\0' termination. */ this->buffer.insert(this->buffer.end(), data.begin(), data.end());
assert(this->CanWriteToPacket(strlen(data) + 1)); this->buffer.emplace_back('\0');
while (this->buffer.emplace_back(*data++) != '\0') {}
} }
/** /**

View File

@ -71,7 +71,7 @@ public:
void Send_uint16(uint16 data); void Send_uint16(uint16 data);
void Send_uint32(uint32 data); void Send_uint32(uint32 data);
void Send_uint64(uint64 data); void Send_uint64(uint64 data);
void Send_string(const char *data); void Send_string(const std::string_view data);
size_t Send_bytes (const byte *begin, const byte *end); size_t Send_bytes (const byte *begin, const byte *end);
/* Reading/receiving of packets */ /* Reading/receiving of packets */