summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2016-03-01 23:16:05 +0100
committerbunnei <bunneidev@gmail.com>2016-03-01 23:16:05 +0100
commitcddb9bd2aac86482f177c115d92d6aaf71d83f04 (patch)
tree66cd6ce63998f60d10931801dafcd668949bc8e8
parentMerge pull request #1433 from yuriks/config-000A0000 (diff)
parentDiskDirectory: Initialize the directory member with valid info. (diff)
downloadyuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar.gz
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar.bz2
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar.lz
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar.xz
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.tar.zst
yuzu-cddb9bd2aac86482f177c115d92d6aaf71d83f04.zip
-rw-r--r--src/common/file_util.cpp2
-rw-r--r--src/core/file_sys/disk_archive.cpp6
2 files changed, 5 insertions, 3 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 052c0ecd6..c3061479a 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -457,7 +457,7 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string &directo
if (virtual_name == "." || virtual_name == "..")
continue;
- unsigned ret_entries;
+ unsigned ret_entries = 0;
if (!callback(&ret_entries, directory, virtual_name)) {
callback_error = true;
break;
diff --git a/src/core/file_sys/disk_archive.cpp b/src/core/file_sys/disk_archive.cpp
index 0ba502200..a51416774 100644
--- a/src/core/file_sys/disk_archive.cpp
+++ b/src/core/file_sys/disk_archive.cpp
@@ -139,7 +139,7 @@ bool DiskFile::Close() const {
////////////////////////////////////////////////////////////////////////////////////////////////////
-DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) {
+DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) : directory() {
// TODO(Link Mauve): normalize path into an absolute path without "..", it can currently bypass
// the root directory we set while opening the archive.
// For example, opening /../../usr/bin can give the emulated program your installed programs.
@@ -149,7 +149,9 @@ DiskDirectory::DiskDirectory(const DiskArchive& archive, const Path& path) {
bool DiskDirectory::Open() {
if (!FileUtil::IsDirectory(path))
return false;
- FileUtil::ScanDirectoryTree(path, directory);
+ unsigned size = FileUtil::ScanDirectoryTree(path, directory);
+ directory.size = size;
+ directory.isDirectory = true;
children_iterator = directory.children.begin();
return true;
}