summaryrefslogtreecommitdiffstats
path: root/src/common
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-07-22 04:36:19 +0200
committerLioncash <mathew1800@gmail.com>2018-07-22 04:42:08 +0200
commit0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf (patch)
tree3753ff286d37c247cde5c6be66740641bba587c1 /src/common
parentfile_util: std::move FST entries in ScanDirectoryTree() (diff)
downloadyuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.gz
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.bz2
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.lz
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.xz
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.tar.zst
yuzu-0ba7fe4ab11d5c7a934a1b45b374f3277bc9f2cf.zip
Diffstat (limited to 'src/common')
-rw-r--r--src/common/file_util.cpp18
-rw-r--r--src/common/file_util.h8
2 files changed, 13 insertions, 13 deletions
diff --git a/src/common/file_util.cpp b/src/common/file_util.cpp
index 543adbffb..47ac8368e 100644
--- a/src/common/file_util.cpp
+++ b/src/common/file_util.cpp
@@ -396,12 +396,12 @@ bool CreateEmptyFile(const std::string& filename) {
return true;
}
-bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directory,
+bool ForeachDirectoryEntry(u64* num_entries_out, const std::string& directory,
DirectoryEntryCallable callback) {
LOG_TRACE(Common_Filesystem, "directory {}", directory);
// How many files + directories we found
- unsigned found_entries = 0;
+ u64 found_entries = 0;
// Save the status of callback function
bool callback_error = false;
@@ -431,7 +431,7 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo
if (virtual_name == "." || virtual_name == "..")
continue;
- unsigned ret_entries = 0;
+ u64 ret_entries = 0;
if (!callback(&ret_entries, directory, virtual_name)) {
callback_error = true;
break;
@@ -455,9 +455,9 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo
return true;
}
-unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
- unsigned int recursion) {
- const auto callback = [recursion, &parent_entry](unsigned* num_entries_out,
+u64 ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
+ unsigned int recursion) {
+ const auto callback = [recursion, &parent_entry](u64* num_entries_out,
const std::string& directory,
const std::string& virtual_name) -> bool {
FSTEntry entry;
@@ -469,7 +469,7 @@ unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
// is a directory, lets go inside if we didn't recurse to often
if (recursion > 0) {
entry.size = ScanDirectoryTree(entry.physicalName, entry, recursion - 1);
- *num_entries_out += (int)entry.size;
+ *num_entries_out += entry.size;
} else {
entry.size = 0;
}
@@ -484,12 +484,12 @@ unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
return true;
};
- unsigned num_entries;
+ u64 num_entries;
return ForeachDirectoryEntry(&num_entries, directory, callback) ? num_entries : 0;
}
bool DeleteDirRecursively(const std::string& directory, unsigned int recursion) {
- const auto callback = [recursion](unsigned* num_entries_out, const std::string& directory,
+ const auto callback = [recursion](u64* num_entries_out, const std::string& directory,
const std::string& virtual_name) -> bool {
std::string new_path = directory + DIR_SEP_CHR + virtual_name;
diff --git a/src/common/file_util.h b/src/common/file_util.h
index ff01bf0ff..090907c03 100644
--- a/src/common/file_util.h
+++ b/src/common/file_util.h
@@ -84,7 +84,7 @@ bool CreateEmptyFile(const std::string& filename);
* @return whether handling the entry succeeded
*/
using DirectoryEntryCallable = std::function<bool(
- unsigned* num_entries_out, const std::string& directory, const std::string& virtual_name)>;
+ u64* num_entries_out, const std::string& directory, const std::string& virtual_name)>;
/**
* Scans a directory, calling the callback for each file/directory contained within.
@@ -95,7 +95,7 @@ using DirectoryEntryCallable = std::function<bool(
* @param callback The callback which will be called for each entry
* @return whether scanning the directory succeeded
*/
-bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directory,
+bool ForeachDirectoryEntry(u64* num_entries_out, const std::string& directory,
DirectoryEntryCallable callback);
/**
@@ -105,8 +105,8 @@ bool ForeachDirectoryEntry(unsigned* num_entries_out, const std::string& directo
* @param recursion Number of children directories to read before giving up.
* @return the total number of files/directories found
*/
-unsigned ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
- unsigned int recursion = 0);
+u64 ScanDirectoryTree(const std::string& directory, FSTEntry& parent_entry,
+ unsigned int recursion = 0);
// deletes the given directory and anything under it. Returns true on success.
bool DeleteDirRecursively(const std::string& directory, unsigned int recursion = 256);