From d0022e9328b4594f992726b69416e98c5cebdb81 Mon Sep 17 00:00:00 2001 From: Mark Pizzolato Date: Sun, 12 Apr 2020 08:13:28 -0700 Subject: [PATCH] DISK: Update VHD Footer to current info --- sim_disk.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/sim_disk.c b/sim_disk.c index f435c4c2..b4b6feba 100644 --- a/sim_disk.c +++ b/sim_disk.c @@ -2111,6 +2111,10 @@ switch (DK_GET_FMT (uptr)) { /* case on format */ case DKUF_F_VHD: /* VHD format */ memcpy (f->Signature, "simh", 4); strncpy ((char *)f->DriveType, sim_vhd_disk_get_dtype (uptr->fileref, &f->SectorSize, &f->TransferElementSize, (char *)f->CreatingSimulator), sizeof (f->DriveType)); + if (f->SectorCount == 0) { /* Old format VHD footer */ + sim_vhd_disk_set_dtype (uptr->fileref, f->DriveType, ctx->sector_size, ctx->xfer_element_size); + sim_vhd_disk_get_dtype (uptr->fileref, &f->SectorSize, &f->TransferElementSize, (char *)f->CreatingSimulator), sizeof (f->DriveType); + } container_size = sim_vhd_disk_size (uptr->fileref); f->SectorCount = (uint32)(container_size / f->SectorSize); f->Checksum = NtoHl (eth_crc32 (0, f, sizeof (*f) - sizeof (f->Checksum)));