diff --git a/DiscImageChef.Filesystems/ISO9660/File.cs b/DiscImageChef.Filesystems/ISO9660/File.cs index d08300107..9ff773149 100644 --- a/DiscImageChef.Filesystems/ISO9660/File.cs +++ b/DiscImageChef.Filesystems/ISO9660/File.cs @@ -155,7 +155,18 @@ namespace DiscImageChef.Filesystems.ISO9660 KeyValuePair dirent = parent.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == pieces[pieces.Length - 1]); - if(string.IsNullOrEmpty(dirent.Key)) return Errno.NoSuchFile; + if(string.IsNullOrEmpty(dirent.Key)) + { + // TODO: RRIP + if(!joliet && !pieces[pieces.Length - 1].EndsWith(";1", StringComparison.Ordinal)) + { + dirent = parent.FirstOrDefault(t => t.Key.ToLower(CultureInfo.CurrentUICulture) == + pieces[pieces.Length - 1] + ";1"); + + if(string.IsNullOrEmpty(dirent.Key)) return Errno.NoSuchFile; + } + else return Errno.NoSuchFile; + } entry = dirent.Value; return Errno.NoError;