MCPcopy Create free account
hub / github.com/RPCSX/rpcsx / open_dir

Method open_dir

rpcs3/dev/iso.cpp:173–197  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

171}
172
173std::unique_ptr<fs::dir_base> iso_dev::open_dir(const std::string& path)
174{
175 auto optEntry = open_entry(path);
176 if (!optEntry)
177 {
178 fs::g_tls_error = fs::error::noent;
179 return {};
180 }
181
182 if ((optEntry->flags & iso::DirEntryFlags::Directory) != iso::DirEntryFlags::Directory)
183 {
184 fs::g_tls_error = fs::error::exist;
185 return {};
186 }
187
188 auto items = read_dir(*optEntry);
189 std::vector<fs::dir_entry> result_items(items.first.size());
190
191 for (std::size_t i = 0; i < result_items.size(); ++i)
192 {
193 result_items[i] = items.first[i].to_fs_entry(items.second[i]);
194 }
195
196 return std::make_unique<fs::virtual_dir>(std::move(result_items));
197}
198
199std::optional<iso::DirEntry>
200iso_dev::open_entry(std::string_view path)

Callers 2

installIsoFunction · 0.80
openMethod · 0.80

Calls 2

to_fs_entryMethod · 0.80
sizeMethod · 0.45

Tested by

no test coverage detected