diff --git a/components/esm/esmcommon.hpp b/components/esm/esmcommon.hpp index 6087de83d..e4f3b636d 100644 --- a/components/esm/esmcommon.hpp +++ b/components/esm/esmcommon.hpp @@ -110,13 +110,7 @@ struct FIXED_STRING<4> : public FIXED_STRING_BASE void assign(const std::string& value) { intval = 0; - switch(value.size()) { - case 4: data[3] = value[3]; - case 3: data[2] = value[2]; - case 2: data[1] = value[1]; - case 1: data[0] = value[0]; - default: break; - } + std::memcpy(data, value.data(), std::min(value.size(), 4)); }