From aa932a6df1764b7c600ae0ba4e0c7a0ba802f312 Mon Sep 17 00:00:00 2001
From: Alex Barney <thealexbarney@gmail.com>
Date: Thu, 23 Dec 2021 09:55:50 -0700
Subject: Update to LibHac v0.14.3 (#2925)

* Update to LibHac v0.14.3

* Fix loading NCAs that don't have a data partition
---
 Ryujinx.HLE/FileSystem/VirtualFileSystem.cs | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

(limited to 'Ryujinx.HLE/FileSystem/VirtualFileSystem.cs')

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)
-- 
cgit v1.2.3-70-g09d2