default-initialize message-id buffer to an invalid (but defined) state and trust the compiler to optimize it out

This commit is contained in:
jadebenn 2024-11-21 18:48:02 -06:00
parent 5aa8b1395b
commit 051a0ba05e
2 changed files with 3 additions and 2 deletions

View File

@ -5,7 +5,8 @@
namespace MessageType {
enum class World : uint32_t {
VALIDATION = 1, // Session info
INVALID = 0,
VALIDATION, // Session info
CHARACTER_LIST_REQUEST,
CHARACTER_CREATE_REQUEST,
LOGIN_REQUEST, // Character selected

View File

@ -1397,7 +1397,7 @@ void HandlePacket(Packet* packet) {
default:
// Need to use memcpy instead of reinterpret_cast to avoid UB
MessageType::World messageId;
auto messageId = MessageType::World::INVALID;
std::memcpy(&messageId, &packet->data[3], sizeof(MessageType::World));
const std::string_view messageIdString = StringifiedEnum::ToString(messageId);