From 3dc9bcd448b8a170fef3b53cae7d56d1f4a5fa0c Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Wed, 1 May 2019 23:26:49 +0100 Subject: [PATCH] Read tape blocks DDT when resuming an existing dicformat. --- DiscImageChef.DiscImages/DiscImageChef/Write.cs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/DiscImageChef.DiscImages/DiscImageChef/Write.cs b/DiscImageChef.DiscImages/DiscImageChef/Write.cs index 2098dbf4f..5bfc644d3 100644 --- a/DiscImageChef.DiscImages/DiscImageChef/Write.cs +++ b/DiscImageChef.DiscImages/DiscImageChef/Write.cs @@ -407,7 +407,7 @@ namespace DiscImageChef.DiscImages if(ddtHeader.identifier != BlockType.DeDuplicationTable) break; - if(ddtHeader.entries != imageInfo.Sectors) + if(ddtHeader.entries != imageInfo.Sectors && !isTape) { ErrorMessage = $"Trying to write a media with {imageInfo.Sectors} sectors to an image with {ddtHeader.entries} sectors, not continuing..."; @@ -449,6 +449,15 @@ namespace DiscImageChef.DiscImages ImageNotSupportedException($"Found unsupported compression algorithm {(ushort)ddtHeader.compression}"); } + if(isTape) + { + tapeDdt = new Dictionary(); + for(long i = 0; i < userDataDdt.LongLength; i++) + tapeDdt.Add((ulong)i, userDataDdt[i]); + + userDataDdt = null; + } + foundUserDataDdt = true; } else if(entry.dataType == DataType.CdSectorPrefixCorrected ||