summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/diimage.cpp
diff options
context:
space:
mode:
author Vas Crabb <vas@vastheman.com>2016-06-24 23:53:38 +1000
committer Vas Crabb <vas@vastheman.com>2016-06-24 23:53:38 +1000
commit20a95045e16ab69cfb13c6d3cf520e63aa553102 (patch)
tree3a4b4bab3ed8afaedc6a9c499c5737dc6df5d91e /src/emu/diimage.cpp
parent83a9cf42056efe9c78d39b89e4ba394a07c79dce (diff)
parent7509a56dc0cf8a380eada014167b8075fbcbcdc9 (diff)
Load save state preparations [Nathan Woods]
* A number of changes and refactorings in preparation for a new load/save state menu. Most notably, I am C++-ifying osd_directory (now osd::directory) and changing osd_stat() to return std::unique_ptrosd::directory::entry * Take note that this change completely omits POSIX support, simply because I lack a development environment to support it. This will have to be done by someone else.
Diffstat (limited to 'src/emu/diimage.cpp')
-rw-r--r--src/emu/diimage.cpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/emu/diimage.cpp b/src/emu/diimage.cpp
index 9347570fee6..9c6ed4f2013 100644
--- a/src/emu/diimage.cpp
+++ b/src/emu/diimage.cpp
@@ -295,24 +295,23 @@ void device_image_interface::message(const char *format, ...)
-------------------------------------------------*/
bool device_image_interface::try_change_working_directory(const char *subdir)
{
- osd_directory *directory;
- const osd_directory_entry *entry;
- bool success = FALSE;
- bool done = FALSE;
+ const osd::directory::entry *entry;
+ bool success = false;
+ bool done = false;
- directory = osd_opendir(m_working_directory.c_str());
+ auto directory = osd::directory::open(m_working_directory.c_str());
if (directory != nullptr)
{
- while(!done && (entry = osd_readdir(directory)) != nullptr)
+ while(!done && (entry = directory->read()) != nullptr)
{
if (!core_stricmp(subdir, entry->name))
{
- done = TRUE;
- success = entry->type == ENTTYPE_DIR;
+ done = true;
+ success = entry->type == osd::directory::entry::entry_type::DIR;
}
}
- osd_closedir(directory);
+ delete directory;
}
/* did we successfully identify the directory? */