aboutsummaryrefslogtreecommitdiff
path: root/DvdLib/Ifo/Dvd.cs
diff options
context:
space:
mode:
authorClaus Vium <clausvium@gmail.com>2019-03-07 20:16:51 +0100
committerClaus Vium <clausvium@gmail.com>2019-03-07 20:16:51 +0100
commit0abe57e930e44eab9566991f33b089d1e61cfb83 (patch)
tree602be322daedca127ba66de07837ac8e792730a7 /DvdLib/Ifo/Dvd.cs
parentdfff68b2f4ca8d3da59508eb4cbe2e751ed76f49 (diff)
parentae0ecc1b10982d9240ecdcc82cb7299fc708aafb (diff)
Merge remote-tracking branch 'remotes/upstream/master' into kestrel_poc
Diffstat (limited to 'DvdLib/Ifo/Dvd.cs')
-rw-r--r--DvdLib/Ifo/Dvd.cs16
1 files changed, 8 insertions, 8 deletions
diff --git a/DvdLib/Ifo/Dvd.cs b/DvdLib/Ifo/Dvd.cs
index f784be83e..90125fa3e 100644
--- a/DvdLib/Ifo/Dvd.cs
+++ b/DvdLib/Ifo/Dvd.cs
@@ -26,17 +26,17 @@ namespace DvdLib.Ifo
if (vmgPath == null)
{
- var allIfos = allFiles.Where(i => string.Equals(i.Extension, ".ifo", StringComparison.OrdinalIgnoreCase));
-
- foreach (var ifo in allIfos)
+ foreach (var ifo in allFiles)
{
- var num = ifo.Name.Split('_').ElementAtOrDefault(1);
- var numbersRead = new List<ushort>();
+ if (!string.Equals(ifo.Extension, ".ifo", StringComparison.OrdinalIgnoreCase))
+ {
+ continue;
+ }
- if (!string.IsNullOrEmpty(num) && ushort.TryParse(num, out var ifoNumber) && !numbersRead.Contains(ifoNumber))
+ var nums = ifo.Name.Split(new [] { '_' }, StringSplitOptions.RemoveEmptyEntries);
+ if (nums.Length >= 2 && ushort.TryParse(nums[1], out var ifoNumber))
{
ReadVTS(ifoNumber, ifo.FullName);
- numbersRead.Add(ifoNumber);
}
}
}
@@ -76,7 +76,7 @@ namespace DvdLib.Ifo
}
}
- private void ReadVTS(ushort vtsNum, List<FileSystemMetadata> allFiles)
+ private void ReadVTS(ushort vtsNum, IEnumerable<FileSystemMetadata> allFiles)
{
var filename = string.Format("VTS_{0:00}_0.IFO", vtsNum);