mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
fix ui report after PackMachFat::unpack
This commit is contained in:
parent
2f529158a0
commit
8cfb9d35e9
|
@ -704,10 +704,14 @@ void PackMachFat::unpack(OutputFile *fo)
|
||||||
switch (fat_head.arch[j].cputype) {
|
switch (fat_head.arch[j].cputype) {
|
||||||
case PackMachFat::CPU_TYPE_I386: {
|
case PackMachFat::CPU_TYPE_I386: {
|
||||||
PackMachI386 packer(fi);
|
PackMachI386 packer(fi);
|
||||||
|
packer.initPackHeader();
|
||||||
|
packer.canUnpack();
|
||||||
packer.unpack(fo);
|
packer.unpack(fo);
|
||||||
} break;
|
} break;
|
||||||
case PackMachFat::CPU_TYPE_POWERPC: {
|
case PackMachFat::CPU_TYPE_POWERPC: {
|
||||||
PackMachPPC32 packer(fi);
|
PackMachPPC32 packer(fi);
|
||||||
|
packer.initPackHeader();
|
||||||
|
packer.canUnpack();
|
||||||
packer.unpack(fo);
|
packer.unpack(fo);
|
||||||
} break;
|
} break;
|
||||||
} // switch cputype
|
} // switch cputype
|
||||||
|
@ -715,10 +719,10 @@ void PackMachFat::unpack(OutputFile *fo)
|
||||||
length = fo->unset_extent();
|
length = fo->unset_extent();
|
||||||
fat_head.arch[j].size = length - base;
|
fat_head.arch[j].size = length - base;
|
||||||
}
|
}
|
||||||
|
fo->unset_extent();
|
||||||
fo->seek(0, SEEK_SET);
|
fo->seek(0, SEEK_SET);
|
||||||
fo->rewrite(&fat_head, sizeof(fat_head.fat) +
|
fo->rewrite(&fat_head, sizeof(fat_head.fat) +
|
||||||
fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
|
fat_head.fat.nfat_arch * sizeof(fat_head.arch[0]));
|
||||||
fo->set_extent(0, length);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool PackMachFat::canPack()
|
bool PackMachFat::canPack()
|
||||||
|
|
Loading…
Reference in New Issue
Block a user