1
0
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:
John Reiser 2007-02-07 22:03:15 -08:00
parent 2f529158a0
commit 8cfb9d35e9

View File

@ -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()