Compare commits

..

6 Commits
1.3.0 ... 1.3.2

Author SHA1 Message Date
Matt Nadareski
b745d4b9f6 Update copyright year 2024-01-30 13:39:23 -05:00
Matt Nadareski
4271bd86b3 Bump version 2024-01-26 09:57:09 -05:00
Matt Nadareski
88de4be27b Fix too-long string values 2024-01-26 01:23:33 -05:00
Matt Nadareski
33905165f7 Bump version 2024-01-05 21:57:50 -05:00
Deterous
83ec3b6950 Update CueSheet.Deserializer.cs (#2)
* Update CueSheet.Deserializer.cs

Don't return null when cuesheet is not ended

* Explicitly deal with new track/file cases
2024-01-02 17:51:27 -08:00
Matt Nadareski
9b5d51884c Use more lenient file reading 2023-12-13 15:45:40 -05:00
4 changed files with 20 additions and 5 deletions

View File

@@ -1280,6 +1280,7 @@ namespace SabreTools.Serialization
{
var stringData = new StringData();
int dataStartOffset = offset;
stringData.Length = data.ReadUInt16(ref offset);
stringData.ValueLength = data.ReadUInt16(ref offset);
stringData.ResourceType = (VersionResourceType)data.ReadUInt16(ref offset);
@@ -1294,7 +1295,8 @@ namespace SabreTools.Serialization
if (stringData.ValueLength > 0)
{
byte[]? valueBytes = data.ReadBytes(ref offset, stringData.ValueLength * sizeof(ushort));
int bytesReadable = Math.Min(stringData.ValueLength * sizeof(ushort), stringData.Length - (offset - dataStartOffset));
byte[]? valueBytes = data.ReadBytes(ref offset, bytesReadable);
if (valueBytes != null)
stringData.Value = Encoding.Unicode.GetString(valueBytes);
}

View File

@@ -165,6 +165,12 @@ namespace SabreTools.Serialization.Files
cueTracks.Add(track);
break;
// Next file found, return
case "FILE":
i--;
cueFile.Tracks = cueTracks.ToArray();
return cueFile;
// Default means return
default:
i--;
@@ -299,6 +305,13 @@ namespace SabreTools.Serialization.Files
cueTrack.PostGap = postgap;
break;
// Next track or file found, return
case "TRACK":
case "FILE":
i--;
cueTrack.Indices = cueIndices.ToArray();
return cueTrack;
// Default means return
default:
i--;
@@ -583,4 +596,4 @@ namespace SabreTools.Serialization.Files
#endregion
}
}
}

View File

@@ -20,7 +20,7 @@ namespace SabreTools.Serialization
return null;
// Open the file for deserialization
var stream = File.OpenRead(path);
var stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
// Get the extension to determine if additional handling is needed
string ext = Path.GetExtension(path).TrimStart('.');

View File

@@ -8,12 +8,12 @@
<LangVersion>latest</LangVersion>
<Nullable>enable</Nullable>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<Version>1.3.0</Version>
<Version>1.3.2</Version>
<!-- Package Properties -->
<Authors>Matt Nadareski</Authors>
<Description>Serialization and deserialization helpers for various types</Description>
<Copyright>Copyright (c) Matt Nadareski 2019-2023</Copyright>
<Copyright>Copyright (c) Matt Nadareski 2019-2024</Copyright>
<PackageProjectUrl>https://github.com/SabreTools/</PackageProjectUrl>
<PackageReadmeFile>README.md</PackageReadmeFile>
<RepositoryUrl>https://github.com/SabreTools/SabreTools.Serialization</RepositoryUrl>