summaryrefslogtreecommitdiff
path: root/src/core/hle/kernel
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2014-10-06 15:25:19 -0400
committerbunnei <bunneidev@gmail.com>2014-10-06 15:25:19 -0400
commit0e2d83fa3ab4aad56dc8813e45d5fdfe05132a5a (patch)
tree766620c93a936e767cc073382573660041c2e193 /src/core/hle/kernel
parent44dabd0dec68d4a979f1910383f9a4033197c9de (diff)
parentfbd72fd6bf0f02a13be207c9d61f630c594e3156 (diff)
Merge pull request #129 from linkmauve/master
Fix the filesystem implementation in order to get blargSnes to run
Diffstat (limited to 'src/core/hle/kernel')
-rw-r--r--src/core/hle/kernel/archive.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/hle/kernel/archive.cpp b/src/core/hle/kernel/archive.cpp
index fa4972994..86aba7489 100644
--- a/src/core/hle/kernel/archive.cpp
+++ b/src/core/hle/kernel/archive.cpp
@@ -181,6 +181,14 @@ public:
break;
}
+ case FileCommand::SetSize:
+ {
+ u64 size = cmd_buff[1] | ((u64)cmd_buff[2] << 32);
+ DEBUG_LOG(KERNEL, "SetSize %s %s size=%d", GetTypeName().c_str(), GetName().c_str(), size);
+ backend->SetSize(size);
+ break;
+ }
+
case FileCommand::Close:
{
DEBUG_LOG(KERNEL, "Close %s %s", GetTypeName().c_str(), GetName().c_str());
@@ -366,6 +374,9 @@ Handle OpenFileFromArchive(Handle archive_handle, const std::string& path, const
file->path = path;
file->backend = archive->backend->OpenFile(path, mode);
+ if (!file->backend)
+ return 0;
+
return handle;
}