1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-09-15 18:57:08 +00:00

Introduce std::string_view into wider use (#14368)

This commit is contained in:
sfan5 2024-02-17 15:35:33 +01:00 committed by GitHub
parent fa47af737f
commit 6ca214fefc
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
74 changed files with 501 additions and 456 deletions

View file

@ -1651,10 +1651,8 @@ void Client::handleCommand_MediaPush(NetworkPacket *pkt)
std::string computed_hash;
{
SHA1 ctx;
ctx.addBytes(filedata.c_str(), filedata.size());
unsigned char *buf = ctx.getDigest();
computed_hash.assign((char*) buf, 20);
free(buf);
ctx.addBytes(filedata);
computed_hash = ctx.getDigest();
}
if (raw_hash != computed_hash) {
verbosestream << "Hash of file data mismatches, ignoring." << std::endl;

View file

@ -99,7 +99,7 @@ NetworkPacket& NetworkPacket::operator>>(std::string& dst)
return *this;
}
NetworkPacket& NetworkPacket::operator<<(const std::string &src)
NetworkPacket& NetworkPacket::operator<<(std::string_view src)
{
if (src.size() > STRING_MAX_LEN) {
throw PacketError("String too long");
@ -109,12 +109,12 @@ NetworkPacket& NetworkPacket::operator<<(const std::string &src)
*this << msgsize;
putRawString(src.c_str(), (u32)msgsize);
putRawString(src.data(), (u32)msgsize);
return *this;
}
void NetworkPacket::putLongString(const std::string &src)
void NetworkPacket::putLongString(std::string_view src)
{
if (src.size() > LONG_STRING_MAX_LEN) {
throw PacketError("String too long");
@ -124,7 +124,7 @@ void NetworkPacket::putLongString(const std::string &src)
*this << msgsize;
putRawString(src.c_str(), msgsize);
putRawString(src.data(), msgsize);
}
static constexpr bool NEED_SURROGATE_CODING = sizeof(wchar_t) > 2;
@ -160,7 +160,7 @@ NetworkPacket& NetworkPacket::operator>>(std::wstring& dst)
return *this;
}
NetworkPacket& NetworkPacket::operator<<(const std::wstring &src)
NetworkPacket& NetworkPacket::operator<<(std::wstring_view src)
{
if (src.size() > WIDE_STRING_MAX_LEN) {
throw PacketError("String too long");

View file

@ -55,18 +55,18 @@ public:
const char *getString(u32 from_offset) const;
// major difference to putCString(): doesn't write len into the buffer
void putRawString(const char *src, u32 len);
void putRawString(const std::string &src)
void putRawString(std::string_view src)
{
putRawString(src.c_str(), src.size());
putRawString(src.data(), src.size());
}
NetworkPacket &operator>>(std::string &dst);
NetworkPacket &operator<<(const std::string &src);
NetworkPacket &operator<<(std::string_view src);
void putLongString(const std::string &src);
void putLongString(std::string_view src);
NetworkPacket &operator>>(std::wstring &dst);
NetworkPacket &operator<<(const std::wstring &src);
NetworkPacket &operator<<(std::wstring_view src);
std::string readLongString();