fix some fatal error when fully-rewrite file

This commit is contained in:
2023-08-28 22:20:46 +08:00
parent f3e7cdf004
commit 0887cd6d86
5 changed files with 55 additions and 8 deletions

View File

@ -87,8 +87,13 @@ namespace LibCmo::CK2 {
CKDWORD sumDataObjSize = 0,
sumHdrObjSize = 0;
for (auto& obj : m_FileObjects) {
// += 4DWORD(ObjId, ObjCid, FileIndex, NameLen) + Name size
sumHdrObjSize += 4 * sizeof(CKDWORD) + obj.Name.size();
// += 4DWORD(ObjId, ObjCid, FileIndex, NameLen)
sumHdrObjSize += 4 * sizeof(CKDWORD);
if (obj.Name.c_str() != nullptr) {
// += Name size
m_Ctx->GetNativeString(obj.Name.string(), name_conv);
sumHdrObjSize += name_conv.size();
}
if (obj.Data == nullptr) {
obj.PackSize = 0;