From f2a1dd638c086d49aefb122acd6458557f4c3094 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 16 Jan 2021 16:57:32 +0000 Subject: [PATCH] Fix reading track flag when track 1 has a pregap bigger than 150 sectors in CDRWin Cuesheet. --- Aaru.Images/CDRWin/Read.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Aaru.Images/CDRWin/Read.cs b/Aaru.Images/CDRWin/Read.cs index 26451eb38..6d3748d67 100644 --- a/Aaru.Images/CDRWin/Read.cs +++ b/Aaru.Images/CDRWin/Read.cs @@ -861,7 +861,7 @@ namespace Aaru.DiscImages cueTracks[lastSessionTrack].Sectors = (ulong)(leadout - startSector); } else - sessions[s - 1].EndSector = (sessions[s - 1].StartSector + sessionSectors) - 1; + sessions[s - 1].EndSector = sessions[s - 1].StartSector + sessionSectors - 1; CdrWinTrack firstSessionTrack = cueTracks.OrderBy(t => t.Sequence).First(t => t.Session == s); @@ -1411,6 +1411,10 @@ namespace Aaru.DiscImages public byte[] ReadSectorsTag(ulong sectorAddress, uint length, SectorTagType tag) { + if(tag == SectorTagType.CdTrackFlags || + tag == SectorTagType.CdTrackIsrc) + return ReadSectorsTag(sectorAddress, length, 0, tag); + foreach(KeyValuePair kvp in from kvp in _offsetMap where sectorAddress >= kvp.Value from cdrwinTrack in _discImage.Tracks where cdrwinTrack.Sequence == kvp.Key