Allow appending on writable images, and correct some incorrect values.

This commit is contained in:
2018-01-18 23:18:56 +00:00
parent 55abfd0ba7
commit d35f9fa829
27 changed files with 321 additions and 162 deletions

View File

@@ -402,13 +402,14 @@ namespace DiscImageChef.DiscImages
imageInfo = new ImageInfo {MediaType = mediaType, SectorSize = sectorSize, Sectors = sectors};
try { writingStream = new FileStream(path, FileMode.CreateNew, FileAccess.ReadWrite, FileShare.None); }
try { writingStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.ReadWrite, FileShare.None); }
catch(IOException e)
{
ErrorMessage = $"Could not create new image file, exception {e.Message}";
return false;
}
// TODO: Check this
(ushort cylinders, byte heads, ushort sectorsPerTrack, uint bytesPerSector, MediaEncoding encoding, bool
variableSectorsPerTrack, MediaType type) geometry = Geometry.GetGeometry(mediaType);
@@ -429,7 +430,7 @@ namespace DiscImageChef.DiscImages
}
};
Array.Copy(Encoding.ASCII.GetBytes("DiskImage 2.01 (C) 1990,1991 Digital Research Inc"), 0,
footer.signature, 0, 50);
footer.signature, 0, 49);
footer.bpbcopy = footer.bpb;
IsWriting = true;
@@ -534,8 +535,9 @@ namespace DiscImageChef.DiscImages
writingStream.Flush();
writingStream.Close();
IsWriting = false;
IsWriting = false;
ErrorMessage = "";
return true;
}