diff options
Diffstat (limited to 'Ryujinx.HLE/FileSystem/VirtualFileSystem.cs')
-rw-r--r-- | Ryujinx.HLE/FileSystem/VirtualFileSystem.cs | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs index 580a794e..87508216 100644 --- a/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs +++ b/Ryujinx.HLE/FileSystem/VirtualFileSystem.cs @@ -17,6 +17,8 @@ using System.Buffers.Text; using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; + +using Path = System.IO.Path; using RightsId = LibHac.Fs.RightsId; namespace Ryujinx.HLE.FileSystem @@ -240,11 +242,13 @@ namespace Ryujinx.HLE.FileSystem { foreach (DirectoryEntryEx ticketEntry in fs.EnumerateEntries("/", "*.tik")) { - Result result = fs.OpenFile(out IFile ticketFile, ticketEntry.FullPath.ToU8Span(), OpenMode.Read); + using var ticketFile = new UniqueRef<IFile>(); + + Result result = fs.OpenFile(ref ticketFile.Ref(), ticketEntry.FullPath.ToU8Span(), OpenMode.Read); if (result.IsSuccess()) { - Ticket ticket = new Ticket(ticketFile.AsStream()); + Ticket ticket = new Ticket(ticketFile.Get.AsStream()); if (ticket.TitleKeyType == TitleKeyType.Common) { @@ -280,12 +284,14 @@ namespace Ryujinx.HLE.FileSystem { Span<SaveDataInfo> info = stackalloc SaveDataInfo[8]; - Result rc = hos.Fs.OpenSaveDataIterator(out var iterator, spaceId); + using var iterator = new UniqueRef<SaveDataIterator>(); + + Result rc = hos.Fs.OpenSaveDataIterator(ref iterator.Ref(), spaceId); if (rc.IsFailure()) return rc; while (true) { - rc = iterator.ReadSaveDataInfo(out long count, info); + rc = iterator.Get.ReadSaveDataInfo(out long count, info); if (rc.IsFailure()) return rc; if (count == 0) |