mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-05 19:11:50 +00:00
fix setAscii, setUnicode
This commit is contained in:
parent
024dccb135
commit
99e8764907
2 changed files with 4 additions and 2 deletions
|
|
@ -260,6 +260,9 @@ size_t StructLayout::setAscii(
|
|||
auto ptr = reinterpret_cast<char*>(dst + field.offset);
|
||||
auto size = std::min(value.size(), static_cast<std::size_t>(field.elements));
|
||||
std::memcpy(ptr, value.data(), size);
|
||||
if (size < field.elements) {
|
||||
std::memset(ptr + size, 0, field.elements - size);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
||||
|
|
@ -274,7 +277,7 @@ size_t StructLayout::setUnicode(
|
|||
auto ptr = reinterpret_cast<char*>(dst + field.offset);
|
||||
std::memcpy(ptr, value.data(), size);
|
||||
if (size < field.elements) {
|
||||
ptr[size] = '\0';
|
||||
std::memset(ptr + size, 0, field.elements - size);
|
||||
}
|
||||
return size;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ namespace util {
|
|||
return dataio::le2h(*(reinterpret_cast<const T*>(src) + offset));
|
||||
}
|
||||
|
||||
// TODO: make it safer (minimize raw temporary pointers use)
|
||||
/// @brief Simple heap implementation for memory-optimal sparse array of
|
||||
/// small different structures
|
||||
/// @note alignment is not impemented
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue