aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/file_sys/directory_sdmc.h
diff options
context:
space:
mode:
authorGravatar archshift <admin@archshift.com>2014-12-07 14:40:27 -0800
committerGravatar archshift <admin@archshift.com>2014-12-07 14:47:14 -0800
commit20d2ed09502f41519beb435a1300f2a57995c651 (patch)
tree4d58349bdfc1ab122d522780c1d9692832ce9ad0 /src/core/file_sys/directory_sdmc.h
parent17fae11fc7cf9392bb93dd2a1dc26a479ca75ed1 (diff)
Make OpenDirectory fail if the directory doesn't exist
This is in line with what the hardware itself does. It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails. Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
Diffstat (limited to 'src/core/file_sys/directory_sdmc.h')
-rw-r--r--src/core/file_sys/directory_sdmc.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/core/file_sys/directory_sdmc.h b/src/core/file_sys/directory_sdmc.h
index 4520d040..4c08b0d6 100644
--- a/src/core/file_sys/directory_sdmc.h
+++ b/src/core/file_sys/directory_sdmc.h
@@ -23,6 +23,12 @@ public:
~Directory_SDMC() override;
/**
+ * Open the directory
+ * @return true if the directory opened correctly
+ */
+ bool Open() override;
+
+ /**
* List files contained in the directory
* @param count Number of entries to return at once in entries
* @param entries Buffer to read data into
@@ -37,6 +43,7 @@ public:
bool Close() const override;
private:
+ std::string path;
u32 total_entries_in_directory;
FileUtil::FSTEntry directory;