mirror of https://github.com/OpenTTD/OpenTTD
Add: [Network] Writing std::string to a packet
parent
8228021afe
commit
ba409e8c45
|
@ -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') {}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -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 */
|
||||||
|
|
Loading…
Reference in New Issue